Volltextdatei(en) vorhanden
Titel: Konzeptionelle Modellierung von Plugin-Systemen mit Petrinetzen
Sprache: Deutsch
Autor*in: Duvigneau, Michael
Schlagwörter: Referenznetz; Renew; reference net; Renew
GND-Schlagwörter: Petri-NetzGND
Plug in
Softwarearchitektur
Entwurfsmuster
Agent
Komponente
Erweiterbarkeit
Erscheinungsdatum: 2009
Tag der mündlichen Prüfung: 2009-11-25
Zusammenfassung: 
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.

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.
URL: https://ediss.sub.uni-hamburg.de/handle/ediss/3023
URN: urn:nbn:de:gbv:18-46623
Dokumenttyp: Dissertation
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
Betreuer*in: Moldt, Daniel (Dr.)
Enthalten in den Sammlungen:Elektronische Dissertationen und Habilitationen

Dateien zu dieser Ressource:
Datei Beschreibung Prüfsumme GrößeFormat  
Diss_Duvigneau_PluginSysteme.pdfc7bda4bb4c8b614e22dded61d74940cc4.44 MBAdobe PDFÖffnen/Anzeigen
Zur Langanzeige

Diese Publikation steht in elektronischer Form im Internet bereit und kann gelesen werden. Über den freien Zugang hinaus wurden durch die Urheberin / den Urheber keine weiteren Rechte eingeräumt. Nutzungshandlungen (wie zum Beispiel der Download, das Bearbeiten, das Weiterverbreiten) sind daher nur im Rahmen der gesetzlichen Erlaubnisse des Urheberrechtsgesetzes (UrhG) erlaubt. Dies gilt für die Publikation sowie für ihre einzelnen Bestandteile, soweit nichts Anderes ausgewiesen ist.

Info

Seitenansichten

507
Letzte Woche
Letzten Monat
geprüft am 18.04.2024

Download(s)

917
Letzte Woche
Letzten Monat
geprüft am 18.04.2024
Werkzeuge

Google ScholarTM

Prüfe