Logo

Seminar SS05: Aktuelle Ansätze der Softwaretechnik und ihre Grundlagen

Seminar: Aktuelle Ansätze der Softwaretechnik und ihre Grundlagen


Betreuende Assistenten

Dipl.-Inform. Bodo KraftDipl.-Inform. Christof Mosler
+49/241/80-21314+49/241/80-21315
Imagechristof@i3.informatik.rwth-aachen.de


News

  • Bewerbung auf Seminarplätze abgeschlossen
  • (24.01.2005) Agenda des Seminarablaufs online

Überblick

Das 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

DatumUhrzeitBeschreibungOrt
11.04.2005
Semesteranfang
Do. 21.04.200510:00-11:30VorbesprechungRaum 4314, Seminarraum Lst. Informatik III
Mo./Di. 25./26.04.2005nach VereinbarungLiteraturvorstellungKraft (R. 4313), Mosler (R. 4219)
Mo. 25.04.200510:00-13:00Bibliotheksführung (2 Gruppen)Informatik Bibliothek
Fr. 13.05.2005nach VereinbarungLiteraturbesprechungKraft (R. 4313), Mosler (R. 4219)
Fr. 27.05.200510:00-11:30ThemenvorstellungRaum 4314, Seminarraum Lst. Informatik III
Fr. 27.05.2005nach VereinbarungGliederung der AusarbeitungKraft (R. 4313), Mosler (R. 4219)
Mo. 20.06.20059:00Abgabe der Ausarbeitung, finaler CharakterKraft (R. 4313), Mosler (R. 4219)
Fr. 01.07.200510:00-11:30Rhetorik-KursSeminarraum Lst. Informatik III
Anfang Julinach VereinbarungBesprechung der AusarbeitungKraft (R. 4313), Mosler (R. 4219)
Mitte Julinach VereinbarungAbgabe der FolienKraft (R. 4313), Mosler (R. 4219)
22.07.2005
Vorlesungsende
vorauss. Mo. 08.08.2005- Di. 09.08.2005ganztägigBlockseminar in Lüttich


Themen


Software Engineering

Thema 1: Objektorientierte Metamodellierung

Betreuer: Kraft, Bearbeiter: Yue Di

Die 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 Bauwesen

Betreuer: Kraft, Bearbeiter: Carsten Dolch

Im 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.

  • Eastman, C.: Building Product Models, Kapitel 4-9
  • Ekholm, A.: A Conceptual Framework for Classification of Construction Works
  • Turk, Z.: Semantic Representation of Product Modelling Data


Thema 3: Objektorientierte Wissensformalisierung

Betreuer: Kraft, Bearbeiter: André Kolbe

Die 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äsentation

Betreuer: Kraft, Bearbeiter: Clemens Krämer

Im 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.

  • Sowa, J.. : Knowledge Representation: Logical, Philosophical, and Computational Foundations, Brooks Cole Publishing Co., Pacific Grove, CA, ©2000. Actual publication date, 16 August 1999. http://www.jfsowa.com/krbook/krtoc.htm



Thema 5: Schemadefinition für strukturierte Dokumente

Betreuer: Kraft, Bearbeiter: Josip Vlahovic

Zur 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 Sprachen

Betreuer: Kraft, Bearbeiter: Roland Grüßner

Visuelle 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.

  • Bilotta, E. et al. : A Formalized Visual Language
  • Erwig, M.: Abstract Visual Syntax, IEEE Int. Workshop on Theory of Visual Languages, IEEE Computer Society Press. Los Alamitos, 1997, pp. 15-25
  • Erwig, M.: Semantics of Visual Languages, IEEE Int. Workshop on Theory of Visual Languages, IEEE Computer Society Press. Los Alamitos, 1997, pp. 304-311


Thema 7: Kooperative Ontologie Entwicklung

Betreuer: Kraft, Bearbeiter: Anne Pielka

Ontologien 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.

  • Martin, P. : Cooperatively-built large heterogeneous KBs
  • Martin, P. : How knowledge is stored in WebKB-2



Software Reengineering

Thema 8: Metrics

Betreuer: Mosler, Bearbeiter: Verena Baumhöfer

Software 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.
  • Software Metrics: Successes, Failures and New Directions, Norman E. Fenton
  • Software Metrics: Roadmap, Norman E. Fenton
  • Seven Steps to Designing a Software Metric, Linda L. Westfall

Thema 9: Pattern-Based Design Recovery

Betreuer: Mosler, Bearbeiter: Wijaya Tonny Darwin

Before 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.
  • Design Recovery for Maintenance and Reuse: Successes, Failures and New Directions, Ted. J. Biggerstaff
  • Towards Pattern-Based Design Recovery: Roadmap, J. Niere, W. Schäfer, J. P. Wadsack, L. Wendehals, J. Welsh
  • Pattern-Based Design Recovery of Java Software, Jochen Seemann, Jürgen Wolff von Gudenberg

Thema 10: Detection and Removal of Clones

Betreuer: Mosler, Bearbeiter: Martin Kappe

Detection 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.
  • Clone Detection Using Abstract Syntax Trees, I. D. Baxter, A. Yahin, L. Moura, M.Sant`Anna, L. Bier
  • Evaluating Clone Detection Techniques, Filip Van Rysselberghe, Serge Demeyer
  • Removing Clones from the Code, Richard Fanta, Václav Rajlich

Thema 11: Program Slicing

Betreuer: Mosler, Bearbeiter: Christoph Zymla

Program 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.
  • A Survey of Program Slicing Techniques, Frank Tip
  • Program Slicing, David W. Binkley, Keith Brian Gallagher

Thema 12: Modeling with Graph Transformations

Betreuer: Mosler, Bearbeiter: Tobias Zeuch

The 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.
  • Tutorial Introduction to Graph Transformation: A Software Engineering Perspective, Luciano Baresi, Reiko Heckel
  • Graph Transformation and Visual Modeling Techniques, Reiko Heckel, Gregor Engels
  • Graph Transformation for Specification and Programming, M. Andries, G. Engels, A. Schürr et al.

Thema 13: Formal Concept Analysis

Betreuer: Mosler, Bearbeiter: Henning Kiel

Formal 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.
  • A First Course in Formal Concept Analysis, Karl E. Wolff
  • Formal Concept Analysis in Information Science, Kim Mens, Tom Tourwé
  • Delving Source-code with Formal Concept Analysis, Linda L. Westfall
  • Improving source code modularity using Formal Concept Analysis and Aspect Oriented Programming, Mariano Ceccato

Thema 14: Refactoring

Betreuer: Mosler, Bearbeiter: Thomas Mock

Restructuring 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.
  • Roots of Refactoring, Jan Philipps, Bernhard Rumpe
  • Refactoring. Improving the design of existing code, Martin Fowler
  • A Discussion of Refactoring in Research and Practice, B. D. Bois, S. Demeyer, T. Mens
  • Refactoring – Improving Coupling and Cohesion of Existing Code, B. Du Bois, S. Demeyer, J. Verelst

Created by: system last modification: Tuesday 25 of October, 2005 [11:19:39 UTC] by Kraft