MIN Faculty
Department of Informatics
Theoretical Foundations of Computer Science

Bibliography

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]

Abstract: 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.

[link] 

BibTeX entry



@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 Notice

This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.