FAQ
© 2015 Staats- und Universitätsbibliothek
Hamburg, Carl von Ossietzky

Öffnungszeiten heute09.00 bis 24.00 Uhr alle Öffnungszeiten

Eingang zum Volltext in OPUS

Hinweis zum Urheberrecht

Dissertation zugänglich unter
URN: urn:nbn:de:gbv:18-46623
URL: http://ediss.sub.uni-hamburg.de/volltexte/2010/4662/


Konzeptionelle Modellierung von Plugin-Systemen mit Petrinetzen

Duvigneau, MichaelVerl.-ausg. unter gleichem Titel ISBN:

pdf-Format:
 Dokument 1.pdf (4.439 KB) 


SWD-Schlagwörter: Petri-Netz , Plug in , Softwarearchitektur , Entwurfsmuster , Agent <Informatik> , Komponente <Software> , Erweiterbarkeit
Freie Schlagwörter (Deutsch): Referenznetz , Renew
Freie Schlagwörter (Englisch): reference net , Renew
Basisklassifikation: 54.52 , 54.10
Institut: Informatik
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Moldt, Daniel (Dr.)
Sprache: Deutsch
Tag der mündlichen Prüfung: 25.11.2009
Erstellungsjahr: 2009
Publikationsdatum: 06.07.2010
Bemerkung: Auch als Verlagsausgabe vorhanden: Duvigneau, Michael: Konzeptionelle Modellierung von Plugin-Systemen mit Petrinetzen, Band 4 der Reihe Agent Technology – Theory and Applications. Logos Verlag, Berlin, 2010. ISBN: 978-3-8325-2561-3
Kurzfassung auf Deutsch: Die Komplexität moderner Softwaresysteme wächst nicht zuletzt aufgrund des Wunsches, sowohl aktuelle als auch zukünftige Bedürfnisse vieler verschiedener Anwender
mit einem einzigen System befriedigen zu wollen. Eine in der Praxis oft eingesetzte Lösung zur Bewältigung der sich ergebenden Komplexität besteht darin, ein Plugin-System in die Software zu integrieren. Ein Plugin-System erlaubt es Anwendern, ein relativ schlankes Kernsystem während seines Einsatzes an individuelle Bedürfnisse anzupassen, indem vorgefertigte Plugins auf einfachste Weise zum Softwaresystem hinzugefügt oder wieder daraus entfernt werden. Um den Konfigurationskomfort für Anwender weiter zu erhöhen, werden zunehmend dynamisch, also während der Laufzeit rekonfigurierbare Plugin-Systeme implementiert.

Dem häufigen praktischen Einsatz des Plugin-Konzepts steht bisher eine relativ geringe Aufmerksamkeit in der Forschung gegenüber. Ziel dieser Arbeit ist daher die Definition, Modellierung und Implementierung zentraler Konzepte von Plugin-Systemen. Eine weitere Herausforderung ergibt sich aus der Tatsache, dass moderne Softwaresysteme
– also auch Plugin-Systeme – inhärent nebenläufig sind. Die sich daraus ergebenden Möglichkeiten und Risiken werden im Rahmen der Modellierung behandelt.

Einige Paradigmen und Techniken aus dem Bereich der Softwareentwicklung werden bereits zur Beschreibung von Plugin-Systemen eingesetzt. Hierzu zählen das Paradigma
der komponentenbasierten Softwareentwicklung sowie die Techniken zur Beschreibung von Softwarearchitekturen und der Entwurfsmuster. Die im Rahmen dieser Ansätze formulierten Konzepte zeigen jedoch Schwächen in der Modellierung von dynamischen Änderungen und von möglicherweise vorhandener Nebenläufigkeit. Daher
werden diese Ansätze durch das Paradigma der agentenorientierten Softwareentwicklung und die Technik der Modellierung mit Referenznetzen ergänzt. Beide Ansätze
sind auf die Modellierung nebenläufiger, sich dynamisch verändernder Systeme ausgerichtet, werden aber noch nicht im Kontext von Plugin-Systemen eingesetzt.

Das breite Spektrum praktisch eingesetzter Plugin-Systeme wird anhand der komplexen Softwarearchitekturen der Mozilla-Anwendungssuite und der Eclipse-Plattform sowie einiger weiterer Systeme vorgestellt. Aus diesem Spektrum werden die einfache (dynamische) Rekonfigurierbarkeit, eine starke Kapselung und das Konzept der intendierten Erweiterbarkeit als zentrale Eigenschaften des Plugin-Konzepts herausgearbeitet. Weitere Anforderungen an das Modell sind die Festlegung von Plugin-Lebenszyklen, die Existenz mehrerer Verwaltungsebenen, das Berücksichtigen von Nebenläufigkeit sowie eine intuitive Modellierung mit präziser Semantik. Der auf Basis dieser Eigenschaften definierte Plugin-Begriff wird zu den Begriffen des Objekts, des
Moduls, der Komponente und des Agenten in Beziehung gesetzt.

Zum Schärfen der Begriffe werden zentrale Konzepte von Plugin-Systemen mittels Referenznetzen nach dem Prinzip der schrittweisen Verfeinerung modelliert („Implementierung
durch Spezifikation“). Das Modell deckt sämtliche eben genannten Anforderungen ab, schränkt die Nebenläufigkeit nicht unnötig ein und ist mit einer präzisen
operationalen Semantik ausgestattet. Die Tauglichkeit des modellierten Konzepts wird zum einen durch einen Abgleich mit den vielfältigen Eigenschaften existierender
Plugin-Systeme belegt. Zum anderen werden die konzeptionellen Ergebnisse in Form mehrerer Prototypen auf das Petrinetzwerkzeug Renew übertragen.
Kurzfassung auf Englisch: The complexity of modern software systems increases. Among other reasons this is due to the goal of software engineers to satisfy actual and future needs of many different users with one single system. In order to cope with the complexity of such systems it is a common solution in real-world software systems to integrate a plug-in system. A plug-in system enables users to adapt a slim core system to their individual needs after deployment. A user just has to add or remove pre-fabricated plug-ins in a simple configuration process. To further increase the comfort of the configuration process it becomes more and more common to implement dynamically reconfigurable plug-in systems.

While plug-in systems are rather common to encounter in the real world, researchers brought rather little attention to the topic until now. Therefore, the goal of this thesis is to define, model, and implement essential concepts of plug-in systems. An additional challenge comes from the observation that many modern software systems – and thus, plug-in systems as well – are inherently concurrent systems. The possibilities and risks that may be deduced from this observation are caught within the modelling process.

Some paradigms and techniques within the area of software engineering are already used to describe plug-in systems. These include the paradigm of component-based software engineering and techniques to describe software architectures or design patterns. However, the concepts formulated within these approaches show some weaknesses when it comes to the modelling of dynamic changes or concurrency. Therefore, they are extended by the paradigm of agent-oriented software engineering and the technique of modelling with reference nets. Both approaches have not been used within the context of plug-in systems up to now.

The broad spectrum of real-world plug-in systems is outlined along some complex example systems, namely the Mozilla application suite and the Eclipse platform. These two large examples are complemented by some more systems. From this spectrum, essential properties of plug-in systems are drawn. These are simple (dynamic) reconfigurability, strong encapsulation, and the concept of intended extensibility. The conceptual model should satisfy further requirements. It should be able to define plug-in life-cycles, cope with multiple layers of management, and allow concurrency within the system. Furthermore, the conceptual model needs an intuitive visual representation with precise semantics. The concept of a plug-in is defined based on these characteristics and related to the concepts of objects, modules, components and agents.

To enhance the definitions, the plug-in concepts are modelled based on reference nets along the principle of consecutive refinement (“implementation by specification”). The model covers all requirements mentioned above, does not restrict concurrency more than necessary and is supported by precise operational semantics. A comparison with the manifold characteristics of real-world plug-in systems illustrates the suitability of the model. Furthermore, the conceptual results are transferred to the Petri net tool Renew by implementing several prototypes.

Zugriffsstatistik

keine Statistikdaten vorhanden
Legende