Bibliographie
Konzeptionelle Modellierung von Plugin-Systemen mit Petrinetzen
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.
http://www.sub.uni-hamburg.de/opus/volltexte/2010/4662/.
[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.
BibTeX-Eintrag
@PhdThesis{Duvigneau09,
author = {Duvigneau, Michael},
address = FBIUniAdresse,
school = FBIUniHHab2006,
title = {{Konzeptionelle Modellierung von Plugin-Systemen mit
Petrinetzen}},
type = dissertation,
year = 2009,
month = oct,
url = {http://www.sub.uni-hamburg.de/opus/volltexte/2010/4662/},
note = {\url{http://www.sub.uni-hamburg.de/opus/volltexte/2010/4662/}},
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.},
}
Copyright-Hinweis
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.