Autor*innen mit den meisten Dokumenten
Neueste Veröffentlichungen
- ZeitschriftenartikelKonfigurierung von eHome-Systemen(Softwaretechnik-Trends Band 27, Heft 4, 2007) Norbisrath, UlrichDiese Arbeit stellt eine Möglichkeit vor, den Prozess der Einrichtung sogenannter SmartHome- oder eHome-Systeme aus softwaretechnischer Sicht zu unterstützen. Dies beinhaltet insbesondere, die Erstellung und Zusammenstellung von Software für solche Systeme zu vereinfachen. Das Hauptaugenmerk dieser Arbeit liegt darauf, eine Verschiebung des Entwicklungsprozesses zu einem beteiligten Diensteanbieter hin zu ermöglichen und gleichzeitig den Entwicklungsaufwand zu minimieren. Es gibt verschiedene Gebiete in einem potentiell automatisierten Heim, in denen mit eHomeDiensten eine Unterstützung im Alltag erreicht werden könnte, wie zum Beispiel Lebenskomfort, Sicherheit, Kommunikation oder Unterhaltung. Ein Sicherheitsdienst kann auch Dienste aus einem anderen Gebiet integrieren, insbesondere Dienste aus dem Kommunikationssektor zum Versand von Warnmeldungen oder Dienste aus dem Unterhaltungsbereich, um auf eine Gefahr aufmerksam zu machen. Gerade solche gebietsübergreifenden Dienste sind die, denen das meiste Potential zugeschrieben wird, da sie sich am meisten einer intuitiven Vorstellung von einem intelligenten Dienst nähern. Die Preise der Geräte, die in den gerade angesprochenen Diensten benutzt werden, sind größtenteils auf ein finanzierbares Maß gesunken, so dass es verwunderlich scheint, dass eHomeSysteme nicht schon längt in den meisten Wohnungen verfügbar sind. Einer der Hauptgründe, der eine Verbreitung von eHomes verhindert, ist der Preis solcher Systeme. Wie aber gerade beschrieben, ist es nicht der Preis der Hardware, der hier ins Gewicht fällt, sondern der Preis der Software, welche bisher noch für jedes neue eHome komplett neu entwickelt wird. Im Allgemeinen wird ein Hausbewohner aber keinen kompletten Software-Entwicklungsprozess finanzieren können. Für den Softwaretechniker ist es nun besonders interessant, wie sich dieser Entwicklungsprozess für Dienste in neuen eHome-Systemen so vereinfachen oder anders strukturieren lässt, dass seine Kosten einem großen zu erwartenden Markt angemessen werden. Somit ist der Kern dieser Arbeit die Umwandlung und Neustrukturierung des eHome-Entwicklungsprozesses in einen teilweise automatisierten Konfigurierungsprozess (eHomeSCD-Prozess) und dessen werkzeugseitiger Unterstützung. Mit Hilfe des in dieser Arbeit vorgestellten neu strukturierten Prozesses und einer diesen Prozess unterstützenden Werkzeugsuite, der eHome-Configurator-Werkzeugsuite, wird die eigentliche Entwicklungsarbeit für den Endbenutzer auf die Spezifizierung seiner Umgebung, einiger zu benutzender Dienste und einiger beschreibender Parameter reduziert, ohne Code angeben zu mussen. Die Arbeit zeigt, dass durch den Einsatz sogenannter Funktionalitäten-basierter Komposition und automatischer Konfigurierungstechniken eine signifikante Erleichterung des Entwicklungsaufwandes erzielt werden kann. Die Anwendung der eHome-ConfiguratorWerkzeugsuite an zwei eigenen Demonstratoren und bei einem externen Kooperationspartner bestätigt, dass speziell für die Werkzeugsuite entwickelte Dienste in völlig unterschiedlichen Umgebungen ohne Anpassungen neu eingesetzt werden können und sich sowohl der Entwicklungsaufwand vor dem eHome-SCD-Prozess, also die Dienstentwicklung, als auch der Aufwand innerhalb des Prozesses durch den Einsatz automatisierbarer Konfigurierung und interaktiver Werkzeugunterstützung erheblich reduziert.
- ZeitschriftenartikelaTool: Typographie als Quelle der Textstruktur(Softwaretechnik-Trends Band 27, Heft 4, 2007) Meyer, OliverUm Texte schneller publizieren, nutzbringender archivieren und effektiver erschließen zu können, muss ihre innere Struktur Werkzeugen zugänglich gemacht werden. Dies geschieht heute i.d.R. nach der Texterstellung durch eine aufwändige Auszeichnung in SGML oder XML. Zur Zeit sind es noch die Verlage, die diese nachträgliche Konvertierung durchführen. Die heute verfügbaren XML-Werkzeuge sind entweder reine XML-Editoren, die für XML-Laien ungeeignet sind, oder Batch-Konverter, die letztlich ihrem Anspruch der vollautomatischen Konvertierung nicht gerecht werden können. Mit dem in dieser Arbeit entwickelten Werkzeug aTool, das als Aufsatz auf MS-Word implementiert wurde, kann der Autor die formale Struktur eines Textes bereits erzeugen, während er den Text erstellt. Dabei nutzt aTool u.a. die Typographie, um halbautomatisch die XMLStruktur abzuleiten und so den Autor zu entlasten. Die Arbeit stellt aTool, seine Konzepte und seine Anwendungen vor. Auch wenn aTool in erster Linie von Autoren verwendet wird, mindert es doch den Arbeitsaufwand der Verlage. Die Anforderungen an aTool wurden für diese Arbeit in Zusammenarbeit mit dem Springer-Verlag formuliert. Imprimären Anwendungsgebiet von aTool, den wissenschaftlichen Zeitschriftenpublikationen, erhält der Springer-Verlag als Einreichungen eine Vielzahl von MS-Word-Dokumenten. Um den dadurch notwendigen Konvertierungsaufwand zu verringern, möchte er von seinen Autoren unmittelbar XML gemäß seinen Vorgaben erhalten. Die Autoren sind i.d.R. jedoch XML-Laien, die an gewohnten Arbeitsweisen festhalten wollen. aTool muss die Autoren daher stark unterstützen und darf ihre gewohnte Arbeitsweise nur wenig ändern. Gleichzeitig soll es flexibel an unterschiedliche Vorgaben anpassbar sein und diese bereits beim Autor überprüfen. Findet es Fehler, sollen verständliche Fehlermeldungen den Autor bei der Korrektur anleiten. aTool erstellt die Struktur halbautomatisch gemäß den Strukturvorgaben aus dem Verlag, während derAutor den Text mit MS-Word erstellt. Dabei arbeitet aTool minimal-invasiv und eng mit MS-Word zusammen. Der Autor kann weiterhin instanzbasierte Formatierung verwenden, um Texte auszuzeichnen und zu strukturieren. Noch während der Erstellung parst aTool den Text und erstellt eine integrierte getypte XML-Struktur. Dazu abstrahiert aTool die konkrete Formatierung zu einem definierten Formattupel und fasst gleich formatierte Zeichen zu einem Token zusammen. Das Parsing erzeugt allein aus diesem Tokenstrom einen Strukturbaum, dem im Mapping Elementtypen zugewiesen werden. Das Mapping bildet die Synthese aus Formatierungsabbildung und Strukturvorgaben. Da der Fließtext immer im Sinne der Strukturvorgaben formal korrekt, aber inhaltlich falsch interpretiert werden kann, wird dabei der Formatierung ein größeres Gewicht gegeben als den Strukturvorgaben. Eine solche Abbildung ist per se mehrdeutig, da Autoren nicht eindeutig formatieren. aTool arbeitet daher nur halbautomatisch und verschiebt Entscheidungen, bis der Autor den Problemfall auflöst. Jede Veränderung der Struktur prüft aTool kontinuierlich und inkrementell gegen die vom Verlag vorgegebenen Regeln in Form einer erweiterten DTD. Unterschiedliche Verlage und verschiedene Zeitschriften bedeuten wechselnde Vorgaben für die Texte. aTool ist daher in hohem Maße parametrisierbar und kann neben dem Dokumentformat sowohl an die Vorbildung und Formatierungsvorlieben einer Benutzergruppe als auch an den einzelnen Autor angepasst werden. Der Autor kann über die Struktur im Text navigieren oder sie direkt manipulieren. Dabei helfen ihm konstruktive Operationen. Sie fügen automatisch sowohl ganze Teilbäume mit Elementen in ihrer üblichen Verwendung als auch umfassende Elemente ein. Verstößt ein Autor gegen die Vorgaben des Verlags, erzeugt aTool konstruktive Fehlermeldungen, die weit über das hinausgehen, was andere Werkzeuge im Fehlerfall an Unterstützung anbieten. Es berechnet den Abstand des aktuellen Dokuments zum erlaubten Dokument als Länge einer Editierfolge und fasst dann alle minimalen Editierfolgen zusammen. Die generierte Fehlermeldung gibt eine konkrete Anleitung, wie der Autor seine Dokumentstruktur korrigieren kann. Auch wenn aTool aus den Anforderungen des Publikationsszenarios entstanden ist, reichen die möglichen Einsatzgebiete darüber hinaus. Sein Anwendungsfeld liegt überall dort, wo Textdokumente in XML mit bekannter DTD erstellt werden sollen, die Autoren jedoch vorzugsweise formatierten Fließtext in MS-Word erstellen. Die Arbeit untersucht daher auch die Eignung für die Unterstützung einer Dokumentenfamilie. Dies geschieht am Beispiel des Benutzerhandbuchs für ein Softwaresystem, das die T-Systems GEI GmbH in unterschiedlichen Varianten vertreibt. Während bisher nur die Programmvarianten automatisch parametrisiert wurden, können mit dem hier entwickelten Konzept auch die Handbücher parametrisiert werden. Bei der Erstellung einer gemeinsamen Handbuchquelle hilft die XML-Struktur, gemeinsame und variantenspezifische Dokumentanteile zu erkennen. Diese werden methodisch zur Quelle zusammengesetzt. Anhand der Konfigurationsbeschreibung der Software generiert daraus eine Erweiterung von aTool konsistente spezifische Handbücher. Da auch in Zukunft Änderungen in der Software und den Handbüchern zu erwarten sind, geht die Arbeit ebenfalls differenziert auf die Wartung einer solchen Handbuchquelle ein. Auch hier hilft die zusätzliche XML-Struktur. Durch die Formatierung ausgezeichnet und direkt in den Text eingebettet werden kann jedoch nur die einfache, formale, syntaktische Struktur. Die komplexe, semantische Struktur, welche die Inhalte und ihre Abhängigkeiten beschreibt, muss als Graph neben dem Text modelliert werden. Dies ist in der Kodissertation [Gat04] zu dieser Arbeit geschehen. Als Top-down-Ansatz bietet sie ein ausgefeiltes Dokumentenmodell und mächtige Analysen im Graphwerkzeug CHASID. Als drittes Anwendungsfeld beschreibt diese Arbeit, wie aTool diese semantische Modellierung unterstützen kann. CHASID benötigt eine engere Integration mit dem konkreten Text und eine Anbindung an verbreitete Autorenwerkzeuge. Die Arbeit entwickelt daher ein Konzept zur Kopplung von aTool und CHASID, das die aus dem Fließtext abgeleitete syntaktische Struktur als Zwischenschritt zur semantischen Struktur nutzt. aTool dient als Front-End für CHASID und stellt Parametrisierungsfunktionalität bereit. CHASID kann dann unverändert für beliebige XML-Anwendungen verwendet werden. aTool bildet dazu Sichten auf die syntaktische Struktur und entscheidet anhand der Parametrisierung, wie es XML-Elemente in das semantische Modell von CHASID abbildet. Die Integration stellt für beide beteiligten Werkzeuge einen Gewinn dar: aTool gewinnt ein umfassendes semantisches Modell hinzu, das erweiterten Analysen dient. CHASID erhält ein feingranulareres Textmodell und kann so differenziertere Aussagen über die Struktur machen als bisher.
- ZeitschriftenartikelSemantische Unterstützung des konzeptuellen Gebäudeentwurfs(Softwaretechnik-Trends Band 27, Heft 4, 2007) Kraft, BodoDer frühe architektonische Gebäudeentwurf, der konzeptuelle Entwurf, wird durch SoftwareWerkzeuge derzeit nicht angemessen unterstützt. Während dieser Entwurfsphase ist das Verständnis der Organisation und Funktionsweise eines Gebäudes im Ganzen wichtiger als exakte Dimensionen und Materialdefinitionen. Im Mittelpunkt stehen die funktionalen Einheiten eines Gebäudes, z.B. Räume und Bereiche, und deren komplexes Beziehungsgeflecht. Diese abstrakte Sichtweise auf einen Gebäudeentwurf ermöglicht die semantische, d.h. inhaltlichec Betrachtung des Entwurfsproblems. Der Architekt muss alle für die konzeptuelle Entwurfsphase geltenden Vorschriften und Einschränkung kennen und beachten. Dies sind nicht nur Gesetze, Verordnungen und Normen, sondern ebenso Wünsche und Vorgaben der am Bau Beteiligten. Als Grundlage für alle folgenden Entwurfsphasen gefährden fehlerhafte konzeptuelle Entwürfe die Durchführung eines Bauprojekts und führen zu Mehrkosten. Mangels der Werkzeugunterstützung weichen Architekturen auf einfache Zeichenprogramme oder die klassische Papierskizze aus. Bei der manuellen Übertragung der Entwurfsskizzen in ein CAD-Werkzeug kann die implizit enthaltene, konzeptuelle Information nicht abgebildet werden und geht verloren. Zur Unterstützung des Architekten während der konzeptuellen Entwurfsphase identifiziert diese Arbeit zwei Schwerpunkte. Erstens erhalten Architekten bessere Werkzeugunterstützung für die Erstellung konzeptueller Entwurfspläne. Diese berucksichtigt den hohen Abstraktionsgrad der frühen Entwurfsphase und das kreative, evaluative Vorgehen der Architekten. Zweitens erhält ein Domänenexperte, ein erfahrener Architekt oder Bauingenieur, die Möglichkeit, konzeptuell relevantes Fachwissen zu formalisieren. Die Formalisierung erfolgt spezifisch für eine Gebäudeklasse. Die Zusammenfuhrung beider Schwerpunkte ermöglicht die Verwendung des formalisierten Fachwissens zur Prüfung der konzeptuellen Entwurfspläne. Als Hilfestellung für den Architekten markieren Fehlermeldungen und Hinweise inkonsistente Teile des Entwurfsplans. Die Schwerpunkte der Arbeit werden durch zwei Ansätze bearbeitet. Einerseits erfolgt die formale Modellierung und Spezifikation der zur Realisierung der Werkzeuge benötigten Konzepte. Hierzu wird das Graphersetzungssystem PROGRES verwendet. Andererseits wird eine praxisorientierte Vorgehensweise verfolgt. Durch die Beobachtung der Arbeitsweise von Architekten und der Analyse aktueller CAD-Werkzeuge wird fehlende Funktionalität identifiziert. Die erarbeiteten Konzepte sind in das CAD-Werkzeug ArchiCAD eingebettet. Die vorliegende Arbeit bietet die fundierte Motivation, validierte Konzepte und erprobte Realisierungsvorschläge zur Unterstützung der konzeptuellen Entwurfsphase durch SoftwareWerkzeuge. Die Bereitstellung problemadäquater Repräsentationen für die frühe Entwurfsphase sowie die Möglichkeit zur Formalisierung und Verwendung konzeptuellen Fachwissens führen zu einer manuellen, organisatorischen und kognitiven Entlastung des Architekten. Die gewonnene Kapazität kann der Architekt in die Verbesserung der Entwurfspläne investieren.
- ZeitschriftenartikelReverse Engineering of Complex Legacy Telecommunication Systems(Softwaretechnik-Trends Band 27, Heft 4, 2007) Marburger, AndréReverse and reengineering of large and complex software systems is a difficult task. As a result, many methods and tools for reverse and reengineering have been developed so far. However, the work in this field has concentrated on sequential, and untimed systems, mainly for business applications. The majority of the approaches deals with decomposing monolithic systems, decoupling user interface/presentation from application logic and data handling/database management, or with identifying reusable components. In particular, numerous approaches have addressed the migration of legacy business applications to an object-based or object-oriented architecture. To a large extent, the corresponding methods are data-centered since they focus on structuring the data maintained by an application. Another stream of research has dealt with migration to code of programming languages such as C++ and Java which already provide language support for object-oriented programming. Reverse and Reengineering of process-oriented applications has been addressed less extensively. For example, a telecommunication system is composed of a set of distributed communicating processes which are instantiated dynamically for handling calls requested by the users of the system. Such a system is designed in terms of services provided by entities which communicate according to protocols. Understanding a telecommunication system requires the recovery of these concepts from the current source code and other sources of information. Furthermore, analyzing and visualizing the dynamic behavior is a key to system understanding. This dissertation describes the concepts and the implementation of integrated tools for reverse and reengineering of telecommunication systems which were developed in close cooperation with ERICSSON in the ECARES project (Ericsson Communication ARchitecture for Embedded Systems). The concepts are based on studies and evaluation of a real telecommunication system - Ericsson’s Mobile-service Switching Center (MSC) for GSM networks called AXE10. These studies led to specific requirements. These requirements and an abstract system structure are described within a conceptual framework, which specifies the problem domain and identifies and interrelates the necessary concepts, thus building the terminological and conceptual foundation of this dissertation. To guarantee the suitability and applicability of the methods and tools developed in this thesis, tool support was developed step by step in response to the requirements and questions stated by telecommunication experts. This approach implied an iterative and incremental analysis and development process. Each pass of this process concentrates on a subset of the overall functionality and delivers appropriate analysis functionality and result documents, thus providing another portion of the final reverse and reengineering environment. The essential contributions (concepts, methods, and tools) to reverse engineering of telecommunication systems are as follows: - Structural, control flow, and data flow information is seamlessly integrated into a modular graph scheme. In addition, the scheme organizes static (e.g., from code analysis) as well as dynamic information (e.g., from trace analysis). This enables complex analysis operations incorporating all kinds of information. - The structural analysis part combines aggregation, condensation, and lifting of information from different sources with deduction of additional information and multi-level abstraction and visualization. - Static and dynamic behavioral analyses are utilized to realize link chain analysis, state machine extraction, and trace analysis. For trace analysis, a comprehensive simulator is introduced. - The architecture recovery facility introduced allows to inspect software systems on architecture level described in ROOM notation. - Explicit usage of domain knowledge in the development of concepts, methods, and tools guarantees suitability and user acceptance. - The analysis of multi-language software systems is possible due to the realization of a seamlessly integrated yet open, modular, extensible, and flexible reengineering system. Not all of these concepts are new. There are a number of mature techniques that have already proved to work quite well, especially for the static structural analysis of software. So, there was no need to re-invent them but rather to adapt and incorporate them. However, the combination of these techniques within an open, modular, and flexible reengineering system leads to synergetic effects. These result in considerable improvements with respect to power, applicability, and integration within the reengineering system implementation showing the desired functionality and behavior described by the conceptual framework.
- ZeitschriftenartikelIntegrated Low-Cost eHome Systems: Prozesse und Infrastrukturen(Softwaretechnik-Trends Band 27, Heft 4, 2007) Kirchhof, MichaelIn dieser Arbeit werden eHome-Systeme mit Bezug auf die elektronische Geschäftsabwicklung betrachtet, die bisher in teuren Einzelanfertigungen realisiert werden müssen. Diese Situation kann geändert werden. Das Ziel ist die Ermöglichung einer effizienten und effektiven Realisierungsstrategie für integrierte Low-Cost eHome-Systeme. Der oft hinterfragte Nutzen von eHome-Systemen wird durch die Vorstellung innovativer Anwendungsszenarien belegt. Dabei wird insbesondere der konkrete und auch für den Nutzer erfahrbare Vorteil der Anwendung beleuchtet. Mit einer Einordnung in Generationen werden die gewachsenen Prozesse und Strukturen aktueller eHome-Systeme verdeutlicht. Darin eingeschlossen ist der Zwiespalt zwischen zu starker Technisierung und einhergehender Entmündigung auf der einen Seite und der teilweise mühsamen Erledigung alltäglicher Routinetätigkeiten auf der anderen Seite. Die Vision eines zukunftweisenden eHome-Systems wird als dritte Generation eingeführt. Der zugrunde liegende Gesamtprozess wird untersucht und in eine optimierte Form, basierend auf dem Konzept der Produkt-Familien und der Einbettung der Konfigurierungstechnik überführt. Für die Realisierung wartbarer und nützlicher eHome-Systeme wird das grundlegende Architekturmodell PowerArchitecture vorgestellt. Unter Berücksichtigung dieses Modells werden Basis-Infrastrukturen entwickelt, die als Instrumentarium die Entwicklung von eHome-Diensten optimal unterstützen. Wiederkehrende und zentrale Aufgaben innerhalb von eHome-Systemen sind damit abgedeckt und die Entwicklung der eigentlichen eHome-Dienste wird erleichtert. Die Implementierung kann somit auf die eigentliche Funktionalität beschränkt werden. Einen Hinderungsgrund für die weitere Verbesserung des Entwicklungsprozesses stellt der Bruch zwischen dem imperativen Programmiersprachen-Paradigma und dem Charakter von eHome-Diensten dar. Als geeignetere Abbildung des Verhaltens eines eHome-Dienstes wird das deklarative regelbasierte Paradigma eingeführt. Damit kann ein Entwickler die Funktionalität eines Dienstes deklarativ spezifizieren, während die atomaren Zusammenhänge flexibel und automatisch kombiniert werden. Der verbleibende Implementierungsaufwand wird dabei durch die Einbettung der KomponentenWiederverwendung weiter gesenkt. Mit den erzielten Verbesserungen im Bereich der eHome-Systeme wird eine Vielzahl von eHome-Diensten in diesem ubiquitären System entwickelt werden. Die gleichzeitige Verwendung dieser Dienste wird zu Konflikten im Bezug auf Ressourcen führen und damit die gewünschte Unterschwelligkeit des Systems zerstören. Zur Sicherung des störungsfreien Betriebs wird eine Lösung zur Konflikterkennung und Konfliktresolution vorgestellt. Schließlich wird die Vertriebs-Phase als letzte Phase des eHome-Prozesses als Geschäftsprozess formalisiert. Zur Effizienzsteigerung wird ein Kompetenz-orientiertes Vorgehen entworfen, das mit einem Arbeitsbereichsmodell gekoppelt wird. Damit wird ein hoher Flexibilitätsgrad erreicht. Der Einsatz eines Workflow-ManagementSystems für den Geschäftsprozess zur Unterstützung des Anbieters wird skizziert, womit bei einer Vielzahl zu betreuender eHomes die Prozess-Ausführung und -überwachung ermöglicht wird.
- ZeitschriftenartikelModeling Telecommunication Systems: From Standards to System Architectures(Softwaretechnik-Trends Band 27, Heft 4, 2007) Herzberg, DominikusThe architecture of a technical system reflects significant design decisions about the system’s organization and typically documents a description of key system elements (be they hardware or software), their composition, functioning, and interrelation. The process of creating a description of an architecture is called architecture modeling. In the telecommunication domain, the architecture level has always played an important role in the design and evolution of communication systems and networks. However, the way how telecommunication engineers describe their architectures is surprisingly rudimentary: They use natural languages and conceptual drawings, as a look into “old” as well as recent standards unveils. Even in the transition phase from standards to the early design phases of system development, system designers do not go much beyond that level of informality. Therefore, as practice shows, in telecommunications, architecture modeling but not the understanding of architecture as such lacks (i) a suitable, consistent and formal modeling language, which is adapted to the needs of systems designers, and (ii) a methodology to support the modeling process. This work addresses these deficiencies. In this thesis, a systematic approach is presented for modeling architectures of virtually any telecommunication system. This includes a methodology, a modeling language, and a prototype implementation of the language. A major contribution of this work is the statement that such an approach can be based upon as few as three basic cornerstones for a networked system: the types of communication and the design principles of distribution and layering. The investigation distills fundamental insights for the design and construction of modern communication systems. The outcome can be summarized as follows: The aspect of control leads to the distinction of three elementary types of communication (control-oriented, data-oriented, and protocoloriented communication) and provides the rational for greybox architecture descriptions. The aspect of distribution can be manifested by the notion of a complex connector, which is the key concept to model connection-oriented, connectionless, and even space-based communication networks including quality of service. Layering in telecommunication systems is different from the ordinary understanding of the term. Layers in a distributed communication system follow a generic form of refinement, namely communication refinement. Communication refinement constitutes a true abstraction hierarchy, which can be interpreted from two perspectives: from a node-centric and from a network-centric viewpoint. The viewpoint chosen has an important impact on the systems understanding. The foundation of this work is mathematical, its application is practical. The mathematics help giving precise definitions on the notions of distribution and layering; the resulting implications shape the methodology and the language. The language developed is based on ROOM (Real-Time Object-Oriented Modeling), an object-oriented but also component-based language. Key language features of ROOM will be integrated in the forthcoming 2.0 release of the Unified Modeling Language, UML. The extensions proposed to ROOM led to a careful redesign of the language and a prototype implementation. The accompanying methodology is organized in method blocks, each block being a self-contained methodological unit encompassing heuristics and architectural solution patterns. The thesis statement is supported by a real-life case study on the SIGTRAN (SIGnaling TRANsport) architecture. In the case study, first the understanding of architecture models as imposed by standards is presented. At the end of this work, it is shown that systematic architecture modeling is relatively easy and comes at little costs — the gains in terms of clarity, preciseness and expressiveness are remarkable.
- ZeitschriftenartikelEin parametrisierbares Graph-Datenbanksystem für Entwicklungswerkzeuge(Softwaretechnik-Trends Band 27, Heft 4, 2007) Böhlen, BorisKlassische Datenbanksysteme sind für die Verwaltung komplexer Dokumente als Ergebnis von Entwicklungstätigkeiten nur bedingt geeignet. Dies gilt insbesondere, wenn die Dokumente untereinander auf einer sehr detaillierten Ebene miteinander vernetzt sind. Im IPSEN-Projekt und anderen Projekten des Lehrstuhls für Informatik 3 werden daher Graphen für die Modellierung der Dokumente verwendet. Die Speicherung der Dokumente erfolgt in der Graphdatenbank GRAS. Aktuelle Projekte definieren Anforderungen, die von GRAS nicht unterstützt werden. Die Konsequenz ist die Entwicklung des im Folgenden vorgestellten Datenbanksystems DRAGOS. Die Probleme von GRAS liegen im Bereich Erweiterbarkeit und Anpassbarkeit. Auf das einfache Graphmodell von GRAS können komplexe Graphmodelle — wie Hypergraphen — nur mit hohem Aufwand abgebildet werden. Graphersetzungssysteme mit anderen Graphmodellen können GRAS nicht einsetzen. Auch die Funktionalität kann nur schwer an neue Anforderungen angepasst werden, insbesondere wenn zentrale Komponenten betroffen sind. Die mangelnde Anpassbarkeit erschwert zum Beispiel die Realisierung verteilter Werkzeuge. GRAS wird daher nur von Werkzeugen verwendet, die mit dem Graphersetzungssystem PROGRES spezifiziert werden. Basierend auf den Schwächen von GRAS werden zunächst die Anforderungen an DRAGOS definiert. DRAGOS definiert ein allgemeines Graphmodell, auf das andere Graphmodelle mit geringem Aufwand abgebildet werden können. Durch seine serviceorientierte Architektur lässt sich DRAGOS an verschiedene Anwendungsszenarien anpassen. Der DRAGOS-Kernel stellt nur die Funktionalitäten als Dienste zur Verfügung, die von einem graphorientierten Datenbanksystem bereitgestellt werden müssen: Ereignisse, Persistenz, Regeln und Transaktionen. Jede zusätzliche Funktionalität — zum Beispiel die Versionierung von Graphen — wird von Erweiterungsmodulen zur Verfügung gestellt. Für die Einbindung der Erweiterungsmodule ist der Kernel verantwortlich. Die Anbindung der verschiedenen Werkzeuge und Graphersetzungssysteme — PROGRES, Fujaba, etc. — erfolgt durch spezialisierte Graphmodelle. Das Graphmodell von DRAGOS wurde mit der Maßgabe entwickelt, eine Vielzahl unterschiedlicher Graphmodelle zu unterstützen. Im Gegensatz zu seinen Vorgängern werden daher nicht nur Knoten und Kanten bereitgestellt, sondern auch graphübergreifende und n-äre Relationen sowie hierarchische Graphen. Diese Graphelemente können mit Attributen versehen werden. Zusätzlich muss jedes Graphelement typisiert sein. Die zugehörigen Graphelementklassen werden im DRAGOS-Graphschema definiert, das auch Mehrfachvererbung und abstrakte Klassen unterstützt. Für die persistente Speicherung der Graphen werden austauschbare Graphenspeicher verwendet, die einen Graphen unter anderem in Datenbanksystemen wie PostgreSQL speichern. Im Rahmen der vorliegenden Arbeit sind neben DRAGOS zwei verschiedene Erweiterungsmodule für DRAGOS realisiert worden. Die erste Erweiterung stellt inkrementell berechnete Attribute zur Verfügung. Von der zweiten Erweiterung wird die Versionierung von Graphen angeboten. Änderungen an einem Graphen lassen sich hiermit verfolgen. Zustände mehrerer unterschiedlicher Graphen können zu einer Konfiguration zusammengefasst werden. Die Erweiterungen können beliebig miteinander kombiniert werden. Oberhalb des DRAGOS-Graphmodells werden spezialisierte Graphmodelle realisiert. Dies wird durch SUMAGRAM unterstützt, das die Spezifikation von Graphmodellen und deren Abbildung auf das DRAGOS-Graphmodell durch UMLKlassendiagramme erlaubt. An den Beispielen GXL und DIAPLAN wird die Funktionalität von SUMAGRAM demonstriert. Die spezialisierten Graphmodelle für die Graphersetzungssysteme PROGRES und Fujaba wurden ebenfalls im Rahmen dieser Arbeit realisiert. Bei PROGRES wurden die Codegenerierung und das UPGRADERahmenwerk angepasst. DRAGOS ersetzt nun das bisher verwendete GRAS vollständig. Seine Verwendung ist transparent und hat keinen Einfluss auf die Spezifikation oder die Werkzeugentwicklung. Die durch GRAS bedingten Einschränkungen sind weggefallen. für Fujaba wurde ein spezielles Plugin entwickelt, das dessen Codegenerierung anpasst. Bis auf einige wenige Einschränkungen hat die Verwendung von DRAGOS keinen Einfluss auf die Spezifikation. Basierend auf den DRAGOS-Erweiterungen kann zukünftig die Funktionalität von Fujaba um komplexe Pfade, Nichtdeterminismus, etc. erweitert werden. Die vorgestellten Konzepte wurden implementiert und validiert. DRAGOS stellt einen vollständigen Ersatz für seine Vorgänger dar. Durch seine offene Architektur und Erweiterbarkeit ist DRAGOS für zukünftige Anwendungen gewappnet. Die Probleme seiner Vorgänger werden somit langfristig vermieden.
- ZeitschriftenartikelEinladung zur Konferenz: Software Engineering 2008, München, 18. bis 22. Februar 2008(Softwaretechnik-Trends Band 27, Heft 4, 2007) Bruegge, Bernd
- ZeitschriftenartikelCHASID:A semantics-oriented authoring environment(Softwaretechnik-Trends Band 27, Heft 4, 2007) Gatzemeier, Felix H.In writing an informational document (such as a scientific article or a textbook), an author faces a number of complicated problems: not just creating the actual media (text, images, and so forth) with its intricacies of formulation, but also selecting the content to be presented and structuring it so that the document in its entirety is consistent and readable. The latter is complicated by re-iterations over the document, where the author reviews and edits it from different perspectives. CHASID, the project described in this book, addresses these tasks of the author: (a) Planning a document, (b) Upholding plans, and (c) Avoiding common structural problems. To do so, it blends itself into the existing conventional authoring environment and maintains a semantical model of the document, which is connected to its hierarchical structure of chapters, sections etc. The functionality is organized according to a cognitive model of the authoring process. The semantical model contains the topics of the document, together with their relations. It is thus also called the topic map here. The connection to the document’s hierarchical structure is kept in exports and imports, indicating which divisions explain a topic, and which ones expect it to be known. The additional functionality requires additional information which is not usually captured during authoring, namely the topic map and its connection. The author generally cannot be assumed to be willing to invest the effort of providing this information without seeing some direct benefit. So, the relationship between additional effort and kinds of possible functionality has also been considered. Beginning with the least additional effort, requiring no additional information to be supplied by the author, tree transformations have been defined to support modifying the document hierarchy. For example, a division may be dissolved, promoting all of its children one level. This functionality requires the author only to find and understand the respective commands. Addressing the overall planning problem, patterns have been introduced as a structured description of text types. A pattern has a name and consists of the problem to be solved (audience and content), a solution as a set of instructions, and a discussion pointing to alternatives and giving further advice. All these components are given in natural language. As a passive means of support (supplying documentation rather than functionality), they also do not require information from the author. On the next level, schemata are provided, proven building blocks of documents spanning both the conventional document and the topic map. A schema has a name and consists of a short and a longer description and a part of a document with weighted components. When the author chooses to use a schema, the document part is merged into the existing document. The new and the existing components participating in the schema instance are grouped in the document, and their weights in this context are recorded for later checks. These schema-based checks produce warnings if important or crucial schema components have been removed. To fix this, the author may connect another component from the document, or dissolve the schema instance. A third weight is used for optional components that may be removed without consequences. This structure is still simple enough for interested casual users to understand: it is basically a cut-out of a document with some parts marked as more and some as less important. This allows schemata to be defined by an author, even for small substructures that just occur repeatedly within a chapter. While instantiating schemata is the most convenient way to construct a topic map, operations for manual modeling are also available. On this level, the author invests the most effort and has to understand the types available in the topic map, but gets detailed control over the model. The author may insert topics and relations into the topic map, or remove them from it. With the topic map available, general checks can also detect faults in it, such as cyclic Part-Of relations. A CHASID prototype has been implemented, connecting to ToolBook and Emacs as conventional authoring applications. The topic map and its connection to the conventional document are maintained in a graph database. All semantical operations have been implemented using the graph-based specification language PROGRES. User-defined schemata are stored as XML files conforming to a proprietary DTD. The approach has been tested by translating advice from conventional writing guides into patterns and schemata. The results were generally satisfactory, but also revealed that more can actually be modeled than is commonly expressed in a guide. In a side-track of the development, topic maps with only a synonym relation were regarded as a means to characterize and evaluate documents. Such models may be constructed by an attentive reader who does not have to be proficient in the subject area of the document, or they may even be derived automatically from documents written in sufficiently equipped markup languages. Based on this, properties of topics relating to their order of exports and imports, being introduced only as a synonym, and others were defined. A formal concept lattice has then been constructed, regarding the topics and their properties as the objects and properties of a formal context. This lattice reveals characteristics of the document and can be used as a metric to spot trouble areas. For example, if many topics are imported before they are exported, an entire section may be misplaced. The experiences from this project indicate that schemata can provide the basis for a semantical model far richer than what may be obtained by manual modeling. This improves creation as well as maintenance of documents.
- ZeitschriftenartikelWorkshop “Applied Program Analysis” (APA 2007)(Softwaretechnik-Trends Band 27, Heft 4, 2007) Quante, Jochen; Mende, Thilo