Michael Duvigneau.
Konzeptionelle Modellierung von Plugin-Systemen mit
Petrinetzen.
Dissertation, Universität Hamburg, Department Informatik,
Vogt-Kölln Str. 30, D-22527 Hamburg, October 2009.
https://ediss.sub.uni-hamburg.de/handle/ediss/3023.
[link]
Kurzfassung: 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.[link]
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.
@PhdThesis{Duvigneau09, author = {Duvigneau, Michael}, address = FBIUniAdresse, school = FBIUniHHab2006, title = {{Konzeptionelle Modellierung von Plugin-Systemen mit Pe\-tri\-ne\-tzen}}, type = dissertation, year = 2009, month = oct, url = {https://ediss.sub.uni-hamburg.de/handle/ediss/3023}, note = {\url{https://ediss.sub.uni-hamburg.de/handle/ediss/3023}}, urn = {urn:nbn:de:gbv:18-46623}, abstract = {Die Komplexit{\"a}t moderner Softwaresysteme w{\"a}chst nicht zuletzt aufgrund des Wunsches, sowohl aktuelle als auch zuk{\"u}nftige Bed{\"u}rfnisse vieler verschiedener Anwender mit einem einzigen System befriedigen zu wollen. Eine in der Praxis oft eingesetzte L{\"o}sung zur Bew{\"a}ltigung der sich ergebenden Komplexit{\"a}t besteht darin, ein Plugin-System in die Software zu integrieren. Ein Plugin-System erlaubt es Anwendern, ein relativ schlankes Kernsystem w{\"a}hrend seines Einsatzes an individuelle Bed{\"u}rfnisse anzupassen, indem vorgefertigte Plugins auf einfachste Weise zum Softwaresystem hinzugef{\"u}gt oder wieder daraus entfernt werden. Um den Konfigurationskomfort f{\"u}r Anwender weiter zu erh{\"o}hen, werden zunehmend dynamisch, also w{\"a}hrend der Laufzeit rekonfigurierbare Plugin-Systeme implementiert. Dem h{\"a}ufigen praktischen Einsatz des Plugin-Konzepts steht bisher eine relativ geringe Aufmerksamkeit in der Forschung gegen{\"u}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{\"a}rent nebenl{\"a}ufig sind. Die sich daraus ergebenden M{\"o}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{\"a}hlen das Paradigma der komponentenbasierten Softwareentwicklung sowie die Techniken zur Beschreibung von Softwarearchitekturen und der Entwurfsmuster. Die im Rahmen dieser Ans{\"a}tze formulierten Konzepte zeigen jedoch Schw{\"a}chen in der Modellierung von dynamischen {\"A}nderungen und von m{\"o}glicherweise vorhandener Nebenl{\"a}ufigkeit. Daher werden diese Ans{\"a}tze durch das Paradigma der agentenorientierten Softwareentwicklung und die Technik der Modellierung mit Referenznetzen erg{\"a}nzt. Beide Ans{\"a}tze sind auf die Modellierung nebenl{\"a}ufiger, sich dynamisch ver{\"a}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{\"u}cksichtigen von Nebenl{\"a}ufigkeit sowie eine intuitive Modellierung mit pr{\"a}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{\"a}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{\"a}mtliche eben genannten Anforderungen ab, schr{\"a}nkt die Nebenl{\"a}ufigkeit nicht unn{\"o}tig ein und ist mit einer pr{\"a}zisen operationalen Semantik ausgestattet. Die Tauglichkeit des modellierten Konzepts wird zum einen durch einen Abgleich mit den vielf{\"a}ltigen Eigenschaften existierender Plugin-Systeme belegt. Zum anderen werden die konzeptionellen Ergebnisse in Form mehrerer Prototypen auf das Petrinetzwerkzeug Renew {\"u}bertragen.} }
Diese Informationen werden zur Verfügung gestellt, um technische und Forschungsarbeiten zeitnah bekannt zu geben. Das Urheberrecht und alle damit verbundenen Rechte verbleiben bei den Autoren bzw. anderen Rechteinhabern. Von jedem, der Informationen dieser Seiten übernimmt, wird erwartet, dass er sich an die jeweiligen Bedingungen und Beschränkungen der Rechteinhaber hält. Meist bedeutet dies, dass die hier bereitgestellten Daten nicht ohne explizite Genehmigung der Rechteinhaber weiterveröffentlicht werden dürfen.