Logo des Repositoriums
 

Softwaretechnik-Trends 27(4) - 2007

Autor*innen mit den meisten Dokumenten  

Auflistung nach:

Neueste Veröffentlichungen

1 - 10 von 15
  • Zeitschriftenartikel
    Konfigurierung von eHome-Systemen
    (Softwaretechnik-Trends Band 27, Heft 4, 2007) Norbisrath, Ulrich
    Diese 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.
  • Zeitschriftenartikel
    aTool: Typographie als Quelle der Textstruktur
    (Softwaretechnik-Trends Band 27, Heft 4, 2007) Meyer, Oliver
    Um 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.
  • Zeitschriftenartikel
    Semantische Unterstützung des konzeptuellen Gebäudeentwurfs
    (Softwaretechnik-Trends Band 27, Heft 4, 2007) Kraft, Bodo
    Der 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.
  • Zeitschriftenartikel
    Reverse 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.
  • Zeitschriftenartikel
    Integrated Low-Cost eHome Systems: Prozesse und Infrastrukturen
    (Softwaretechnik-Trends Band 27, Heft 4, 2007) Kirchhof, Michael
    In 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.
  • Zeitschriftenartikel
    Modeling Telecommunication Systems: From Standards to System Architectures
    (Softwaretechnik-Trends Band 27, Heft 4, 2007) Herzberg, Dominikus
    The 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.
  • Zeitschriftenartikel
    CHASID: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.
  • Zeitschriftenartikel
    Einladung zur Konferenz: Software Engineering 2008, München, 18. bis 22. Februar 2008
    (Softwaretechnik-Trends Band 27, Heft 4, 2007) Bruegge, Bernd
  • Zeitschriftenartikel
    Ein parametrisierbares Graph-Datenbanksystem für Entwicklungswerkzeuge
    (Softwaretechnik-Trends Band 27, Heft 4, 2007) Böhlen, Boris
    Klassische 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.
  • Zeitschriftenartikel
    Feature-basierte Modellierung und Analyse von Variabilität in Produktlinienanforderungen
    (Softwaretechnik-Trends Band 27, Heft 4, 2007) von der Maßen, Thomas
    Die Entwicklung einer Software-Produktlinie stellt hohe Ansprüche an alle Aktivitäten des Entwicklungsprozesses, der sich durch die Lebenszyklen von Plattform und Produktentwicklungen auszeichnet. Als besondere Herausforderung gilt die Berücksichtigung von Variabilität in Anforderungen. Das zentrale Ziel dieser Arbeit ist es, zu untersuchen, wie Variabilität in Anforderungen im Rahmen der Plattformentwicklung bei Produktlinien modelliert werden kann und welche Qualitätskriterien für die entstehenden Modelle relevant sind, damit diese Modelle für die weiteren Phasen der Plattform- und Produktentwicklung verwendet werden können. Um die Fragen: „Welche Variabilitätskonzepte werden benötigt, um die notwendige Flexibilität in der Plattformspezifikation ausdrücken zu können und welche Notationen eignen sich für die Modellierung der Variabilität in Anforderungen?“ und „Wie kann die Adäquatheit, Widerspruchsfreiheit und Flexibilität der Plattformspezifikation bewerten werden und was sind die Voraussetzungen dafür, dass eine vollständige und widerspruchsfreie Produktspezifikation aus der Plattformspezifikation abgeleitet werden kann?“ beantworten zu können, werden im Rahmen dieser Arbeit zunächst ein Metamodell für die Variabilität in Anforderungen und Notationen daraufhin untersucht, in wie weit sie sich eignen die notwendigen Variabilitätskonzepte abbilden zu können. Als Ergebnis dieser Untersuchung lässt sich festhalten, dass sich insbesondere die FeatureModellierung, die erstmals in der DomainEngineering-Methode FODA in das Zentrum der Modellierungsaktivitäten für Software-Systeme rückte, eignet, Variabilität zu modellieren. Da der FeatureBegriff aber vage ist und es viele unterschiedliche kontextabhängige Definitionen gibt, wird der Begriff Feature für das Requirements Engineering für Produktlinien definiert und die bereits in den unterschiedlichen Methoden und Anwendungsgebieten eingeführten Modellierungselemente in einem Metamodell konsolidiert. Auf Basis dieser Grundlage können FeatureModelle als Basis für die Plattformspezifikation (Plattform-Feature-Modell) und die Produktspezifikation (Produkt-Feature-Modell) dienen. Obwohl sich die Feature-Modellierung in Industrie und Wissenschaft großer Beliebtheit in Bezug auf die Modellierung von Variabilität erfreut, wurde bisher nicht berücksichtigt, welche Qualitätskriterien herangezogen werden müssen, um Feature-Modellen bewerten zu können. Im Rahmen dieser Arbeit wird ein Qualitätsmodell für Feature-Modelle entwickelt, welches sich an dem Qualitätsmodell der IEEE für Anforderungsspezifikation orientiert. Insbesondere werden die Korrektheit und die Widerspruchsfreiheit von Plattform-Feature-Modellen untersucht. Anhand eines Katalogs von Defiziten, welche in die Kategorien Redundanzen, Anomalien und Inkonsistenzen eingeteilt werden, können Defizite in Feature-Modellen identifiziert werden. Da die beschriebenen Defizite immer auf ungeeignete oder widersprüchliche Anforderungen hinweisen, hilft die Beseitigung von Defiziten, die Korrektheit des Plattform-Feature-Modells zu verbessern. In Bezug auf die Korrektheit eines Plattform-Feature-Modells muss weiterhin untersucht werden, ob die modellierte Variabilität, die gewünschte Flexibilität der Produktlinie widergibt. Während eine zu geringe Flexibilität die Ableitung neuer Produkte erschwert und diese somit nur mit großem Aufwand möglich ist, führt eine zu große Flexibilität dazu, dass viel Aufwand in die Entwicklung, Qualitätssicherung und Wartung der gesamten Produktlinie investiert werden muss. Als Maß für die Flexibilität der Produktlinie kann die Anzahl von möglichen Produkt-Feature-Modellen dienen, die auf Basis des Plattform-Feature-Modells abgeleitet werden können. Dazu wird der Variationsgrad eingeführt und Berechnungsvorschriften unter Berücksichtigung aller Modellierungselemente der Feature-Modellierung für den Variationsgrad definiert. Insbesondere stellt die Bestimmung des Variationsgrads bei mehreren modellierten Abhängigkeiten eine große Herausforderung dar. Da die exakte Bestimmung des Variationsgrads unter Berücksichtigung mehrerer Abhängigkeiten die Bestimmung aller Produkt-Feature-Modelle voraussetzt, wird eine Approximation durch eine obere und eine untere Grenze eingeführt. Das vorgestellte Verfahren ermöglicht somit eine schnelle Berechnung des Variationsgrads, anhand dessen der Einfluss auf die Flexibilität der Produktlinie die durch Modifikation des Plattform-Feature-Modells entstehen, bestimmt werden kann. Der Variationsgrad hilft bei der Planung der Produktlinie im Rahmen einer proaktiven Entwicklung und enthüllt erstmals die Flexibilität bei der Migration mehrerer Einzelprodukte zu einer Produktlinie. Weiterhin wird die Entwicklung des Werkzeug-Prototypen RequiLine beschrieben, da bis dato kein kommerzielles Requirements Management Werkzeug die explizite und adäquate Modellierung von Variabilität in Anforderungen unterstützt. RequiLine dient dazu, die in dieser Arbeit eingeführten Konzepte und eine mögliche Werkzeugunterstützung zu demonstrieren.