Navigation
|
Seminar SS05: Aktuelle Ansätze der Softwaretechnik und ihre GrundlagenSeminar: Aktuelle Ansätze der Softwaretechnik und ihre GrundlagenBetreuende Assistenten
News
ÜberblickDas Seminar "Aktuelle Ansätze der Softwaretechnik und ihre Grundlagen" wird als praktisches Seminar für das Hauptstudium im Sommersemester 2005 angeboten. Zulassungsvoraussetzungen sind ein abgeschlossenes Vordiplom und die Kenntniss der Vorlesungen: Einführung in die Softwaretechnik (Prof. Nagl), Introduction to Database Systems (Prof. Jarke) und Objektorientierte Software-Konstruktion (Prof. Lichter).Das wiederholte Scheitern derzeitiger Softwareprojekte verdeutlicht, wie wichtig die Kenntniss moderner softwaretechnischer Methoden nach wie vor ist. In dem Seminar werden sowohl die klassischen Ansätze zur Strukturierung und Unterstützung des Softwareerstellungsprozesses behandelt, wie auch aktuelle Ansätze vorgestellt und kritisch bewertet. Alle Dokumente, also unsere Vorlagen und Eure Ausarbeitungen werden auf einem zentralen BSCW-Server abgelegt. Zur Kommunikation stellen wir eine Mailingliste zur Verfügung. Wir verwenden die Liste, um euch aktuelle Informationen zu dem Seminar mitzuteilen. Ihr könnt die Liste auch zur Diskussion, Absprache oder Hilfesuche verwenden. Wichtige Information: Ein abgeschlossenes Vordiplom ist unbedingte Voraussetzung für die Teilnahme am Seminar. Es muss eine Bestätigung vorgelegt werden! Termine
ThemenThema 1: Objektorientierte MetamodellierungBetreuer: Kraft, Bearbeiter: Yue DiDie von der Object Management Group (OMG) zertifizierte Unified Modeling Language (UML) stellt für die Softwareentwicklung eine Reihe von Diagrammtypen zur Verfügung. Im Bereich der Softwaretechnik haben UML-Diagramme eine weite Verbreitung, insbesondere werden UML-Klassendiagramme zur Darstellung von Entwurfsspezifikationen extensiv verwendet. Die OMG verwendet eine mehrschichtige Architektur zur Beschreibung des Zusammenhangs zwischen Instanz- und Modellebenen. Die Verwendung der Diagrammtypen und deren formale Struktur werden von der OMG durch verschiedene Dokumente festgelegt. In der Seminararbeit soll zunächst der Zusammenhang der Modellebenen anhand der UML-Spezifikation herausgearbeitet werden. Darauf aufbauend soll das UML-Metamodell untersucht werden und die Formalisierung von UML-Klassendiagrammen, UML-Objektdiagrammen und deren Zusammenhang beschrieben werden. Schließlich soll die UML Meta-Object Facility (MOF) analysiert und die im Kontext des Themas relevanten Bereiche erläutert werden. Die Kenntnis der gängigen UML-Diagrammtypen wird vorausgesetzt.
Thema 2: Produktmodellierung im BauwesenBetreuer: Kraft, Bearbeiter: Carsten DolchIm Bauwesen sind in den letzten Jahren verstärkt zum einen interoperable, zum anderen hochspezialisierte Produktmodelle als Grundlage für die Entwicklung von Softwarewerkzeugen erarbeitet worden. Ziel der Arbeit ist es, zunächst die Motivation für eine explizite Produktmodellierung zu beschreiben. Ferner soll ein Überblick über die existierenden Ansätze geboten werden.
Thema 3: Objektorientierte WissensformalisierungBetreuer: Kraft, Bearbeiter: André KolbeDie Sprache UML wird vor allen im Bereich der Softwareentwicklung zur Modellierung von Systementwürfen verwendet. Eine andere Anwendung findet die UML im Bereich der Wissensformalisierung. Ziel ist es hier, mit Hilfe der zur Verfügung stehenden Diagrammtypen die relevanten Konzepte und deren Zusammenhänge formal zu spezifizieren. In der Literatur finden sich hierzu verschiedene Ansätze, die vor allem die Möglichkeiten der UML zur Abbildung von Ontologien untersuchen. In der Seminararbeit soll zunächst die Motivation für die visuelle Wissensrepräsentation mit UML erarbeitet werden. Anschließend sollen Möglichkeiten der Wissensrepräsentation mit UML mit denen von anderen Ansätzen, z.B. RDF/OWL abgegrenzt werden. Schließlich soll eine für die Wissensrepräsentation spezifische Erweiterung des UML-Metamodell untersucht und beschrieben werden. Kenntnisse im Bereich Semantic Web, RDF und Wissensverarbeitung sind für die Bearbeitung sinnvoll.
Thema 4: Visuelle WissensrepräsentationBetreuer: Kraft, Bearbeiter: Clemens KrämerIm Bereich der Wissensrepräsentation existieren unterschiedliche Ansätze zur visuellen Darstellung von Domänenwissen. Die Arbeit von John Sowa ist fundamental und stellt eine formale Grundlage für die semantischen Netze dar. Im dem Buch Knowledge Representation stellt Sowa Untersuchungen zum Aufbau und zur Strukturierung von Ontologien vor. Basierend auf den Conceptual Graphs wird ferner eine Notation zum Austausch und zur textuellen Darstellung von Fachwissen erläutert. In der Seminararbeit sollen die Grundlagen der visuellen Wissensrepräsentation, basierend auf der der Arbeit von John Sowa erarbeitet werden.
Thema 5: Schemadefinition für strukturierte DokumenteBetreuer: Kraft, Bearbeiter: Josip VlahovicZur Beschreibung von gültigen XML-Dokumenten existieren mittlerweile eine Vielzahl unterschiedlicher Ansätze. Schematron ist eine Sprache, mit deren Hilfe Einschränkungen für XML-Dokumente formalisiert werden können. Dabei werden mit Hilfe von Schematron Muster definiert, die für das zu parsende Dokument gelten müssen. Einen anderen Ansatz verfolgt XML-Schema. Hierbei wird eine Grammatik verwendet, um gültige XML-Dokumente zu beschreiben. In der Arbeit sollen die beiden Ansätze XML-Schema und Schematron auf ihre Aussagekraft hin untersucht und verglichen werden. Kenntnisse im Bereich XML, DTD und XML-Schema sind für die Bearbeitung sinnvoll.
Thema 6: Formale Visuelle SprachenBetreuer: Kraft, Bearbeiter: Roland GrüßnerVisuelle Sprachen versprechen eine intuitivere Arbeit mit der zugrunde liegenden Thematik. Grundlegend ist die Unterscheidung zwischen den strukturellen Elementen, also der Syntax und deren Bedeutung, der Semantik. Sowohl die Syntax, als auch die Semantik der visuellen Sprache muss formal definiert sein, um die in der Sprache dargestellten Sachverhalte automatisiert verarbeiten zu können. In der Arbeit sollen die grundlegenden Ansätze zu visuellen Sprachen untersucht und dargestellt werden. Dabei sollen formale Definitionen der Syntax und Semantik einer visuellen Sprache exemplarisch beschrieben werden.
Thema 7: Kooperative Ontologie EntwicklungBetreuer: Kraft, Bearbeiter: Anne PielkaOntologien gelten als aktuelles Hilfsmittel zur Formalisierung der relevanten Begriffe aus einer Domäne und zur Speicherung von Wissen basierend auf dieser Formalisierung. Der Ansatz mit einer umfassenden Ontologie alle Sachverhalte der Welt abzubilden ist nicht relealistisch. Vielmehr werden spezialisierte Ontologien von Domänenexperten entwickelt, die zu einer gemeinsamen Ontologie integriert werden müssen. Der Wissensserver WebKB-2 erlaubt die verteilte Wissensbearbeitung. Das Format Knowledge Interchange Format (KIF) dient als universelle Sprache zur Wissensrepräsentation und erlaubt eine Transformation zwischen anderen Sprachen. In der Arbeit soll, basierend auf der relevanten Literatur, das System WebKB-2 und das Format KIF untersucht und beschrieben werden.
Thema 8: MetricsBetreuer: Mosler, Bearbeiter: Verena BaumhöferSoftware metrics is the term used to describe the wide range of activities concerned with measurement in software engineering. Metrics allow to quantify the schedule, work effort, product prize, project status, and quality performance. In the seminar also the limitations and the possible future of metrics will be discussed.
Thema 9: Pattern-Based Design RecoveryBetreuer: Mosler, Bearbeiter: Wijaya Tonny DarwinBefore improving a software system, reverse engineering techniques have to be applied to the existing source code. Design recovery recreates design abstractions to allow the engineers to fully understand what the program does. In this work especially the pattern-based design recovery will be discussed.
Thema 10: Detection and Removal of ClonesBetreuer: Mosler, Bearbeiter: Martin KappeDetection and removal of duplicate code (clones) decreases software complexity and maintenance costs. This work should present some of the most representative clone detection techniques and give a simple introduction in how removing clones.
Thema 11: Program SlicingBetreuer: Mosler, Bearbeiter: Christoph ZymlaProgram slicing is a decomposition technique that extracts statements relevant to some point of interest, referred to as a slicing criterion. The user can then regard a subset of the statements and control predicates of the program which directly or indirectly affect the values computed at the criterion. This method is used in several areas of computer science, like debugging, testing, integration, and understanding of software.
Thema 12: Modeling with Graph TransformationsBetreuer: Mosler, Bearbeiter: Tobias ZeuchThe framework of graph transformation provides a convenient way for the specification and development of systems, languages, and tools. In particular, graph transformations can be used as a visual modeling technique, where the class of admissible graphs is specified by means of a schema graph and where rules represent type-consistent transformations.
Thema 13: Formal Concept AnalysisBetreuer: Mosler, Bearbeiter: Henning KielFormal Concept Analysis (FCA) is a method for data analysis, knowledge representation and information management. Today it is used in many disciplines, such as linguistics, psychology, and computer science. In the seminar the basic notions and some applications in software engineering will be introduced.
Thema 14: RefactoringBetreuer: Mosler, Bearbeiter: Thomas MockRestructuring is a disciplined technique for altering the internal structure of an existing program without changing its external behaviour. In the case of object-oriented software development this problem is referred to as refactoring. It is designed to improve the understandability of the code, in order to make it easier for maintenance in the future.
Created by: system last modification: Tuesday 25 of October, 2005 [11:19:39 UTC] by Kraft |