520 likes | 743 Views
E N D
1. Modellbasierte erreichbarkeitsoptimierteRekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit
2. Wartungsarbeiten: Eingeschränkte bzw. keine Verfügbarkeit
3. Ziel und Beitrag Hauptziel: Optimierung der Erreichbarkeit während der Rekonfiguration
Hypothese: Eine Minimierung der Störung während der Rekonfiguration führt zur Maximierung der Erreichbarkeit
Beitrag:
Anwendungsmodell: Sichtbasierte System-Architekturbeschreibung
Optimierungsmodell: Knapsack-Minimierungsproblem bedingt durch eine Multikriterien-Entscheidungsfindung
Analysemodell: Analyse der relevanten Parameter zur Minimierung der Störung während der Rekonfiguration
Rekonfigurationsmodell: Transaktionales Konzept zur transparenten Durchführung der Rekonfiguration zur Laufzeit
4. Gliederung Eigener Ansatz und Beitrag
Evaluation
Verwandte Arbeiten
Zusammenfassung
Ausblick
5. Schlüsselbegriffe Rekonfiguration als technische Sicht des Prozesses der Veränderung eines bereits entwickelten und operativ eingesetzten Systems
Erreichbarkeit einer Einheit (Dienst, Komponente oder System) als Wahrscheinlichkeit, dass diese Einheit zu einem Zeitpunkt t sowohl verfügbar als auch reaktionsfähig ist
6. Beispiel: Duke‘s Bank Application [Sun, 2006]
7. Beispiel: Duke‘s Bank Application [Sun, 2006]
8. Beispiel: Duke‘s Bank Application [Sun, 2006]
9. Optimierte vs. nicht-optimierte Rekonfiguration Statische Rekonfiguration
Dauer: ?tstatic = ?tshutdown + ?treconfiguration + ?tstartup
Erreichbarkeit: Astatic(t) = 0 für die Dauer ?tstatic
Gängige Ansätze zur Laufzeit-Rekonfiguration
Dauer: ?truntime = ?tanalysis + ?treconfiguration
Erreichbarkeit für die Dauer ?truntime: Aruntime =
Eigener Ansatz zur Laufzeit-Rekonfiguration
Dauer: ?toptimisedRuntime = ?toptimisedAnalysis + ?toptimisedReconfiguration
Erreichbarkeit: AoptimisedRuntime(t) =
Fazit: AoptimisedRuntime(t) = Aruntime = Astatic
für die Dauer ?toptimisedRuntime
da Wmin(t) = Wstatic
10. Dienstbezogene Erreichbarkeit: Beispiel
11. System-Architekturbeschreibung - Das Anwendungsmodell Statische Sicht
Komponenten mit angebotenen und benötigten Diensten
Hierarchische Komponentenstruktur nach dem Composite-Muster
UML-Komponentendiagramme mit Abhängigkeitsbeziehungen
Gerichtete gewichtete statische Abhängigkeitsgraphen
Dynamische Sicht
Benutzungsmodell mit Anwendungsfällen als Markovketten
Endliche Automaten zur Spezifikation vom Verhalten auf Systemebene
Dienst-Effekt-Automaten auf Komponentenebene
UML-Sequenzdiagramme zur Beschreibung von Laufzeitszenarien
Gerichtete gewichtete Laufzeit-Abhängigkeitsgraphen
C3 (Component - Connector - Container) - Meta Model
Statische Sicht
Dynamische Sicht
Eindeutige Zuordnung der statischen zu der dynamischen Sicht
12. Angebotene und benötigte Dienste
13. UML- Komponentendiagramme
14. Statischer Abhängigkeitsgraph G (V,E,w) V - Menge der Knoten (Komponenten)
E - Menge der Kanten (Abhängigkeiten)
e ? E, e = ij - Kante als Abhängigkeit: Komponente i ist abhängig von Komponente j, wenn i Dienste von j benötigt
w: E ? N - Gewicht
Wij - Gewicht der Kante ij,
m - Anzahl benötigter Dienste
Ik - vertraglich festgelegte Wichtigkeit des Dienstes k
Gewichtete Adjazenzmatrix A = (aij )n×n
aij =
Literatur: [Diestel, 2000], [Jungnickel, 2001], [Turau, 1996]
15. System-Architekturbeschreibung - Das Anwendungsmodell Statische Sicht
Komponenten mit angebotenen und benötigten Diensten
Hierarchische Komponentenstruktur nach dem Composite-Muster
UML-Komponentendiagramme mit Abhängigkeitsbeziehungen
Gerichtete gewichtete statische Abhängigkeitsgraphen
Dynamische Sicht
Benutzungsmodell mit Anwendungsfällen als Markovketten
Endliche Automaten zur Spezifikation vom Verhalten auf Systemebene
Dienst-Effekt-Automaten auf Komponentenebene
UML-Sequenzdiagramme zur Beschreibung von Laufzeitszenarien
Gerichtete gewichtete Laufzeit-Abhängigkeitsgraphen
C3 (Component - Connector - Container) - Meta Model
Statische Sicht
Dynamische Sicht
Eindeutige Zuordnung der statischen zu der dynamischen Sicht
16. Benutzungsmodell eines Systems Wird zusammengesetzt aus möglichen Benutzungs-szenarien
Jedes Szenario definiert einen Anwendungsfall im System
Jeder Anwendungsfall besteht aus Ausführungssequenzen
Jede Ausführungssequenz enthält Ausführungen und beteiligte Komponenten-instanzen
17. Benutzungsmodell eines Systems Jeder Anwendungsfall wird als diskrete Markovkette modelliert [van Hoorn et al., 2008]
Jede Ausführung definiert einen Zustand Sk = (d, i, j)
d aufgerufener Dienst
i aufrufende Komponenteninstanz
j aufgerufene Komponenteninstanz
Wahrscheinlichkeit einer Ausführungssequenz mit n Zuständen
18. Mögliche Ausführungssequenzen
(UML 2 Sequenzdiagramme [OMG, 2007])
19. Verhaltensspezifikation auf Komponentenebene
Menge von Beschreibungen wie jeder angebotene Dienst der Komponente seine benötigten Dienste aufruft
Abstraktion des Kontrollflusses durch die Komponente
Kann Sequenzen, Verzweigungen und Schleifen enthalten
Modelliert als endlicher Automat
Diensteffektautomaten [Reussner, 2001]
20. System-Architekturbeschreibung - Das Anwendungsmodell Statische Sicht
Komponenten mit angebotenen und benötigten Diensten
Hierarchische Komponentenstruktur nach dem Composite-Muster
UML-Komponentendiagramme mit Abhängigkeitsbeziehungen
Gerichtete gewichtete statische Abhängigkeitsgraphen
Dynamische Sicht
Benutzungsmodell mit Anwendungsfällen als Markovketten
Endliche Automaten zur Spezifikation vom Verhalten auf Systemebene
Dienst-Effekt-Automaten auf Komponentenebene
UML-Sequenzdiagramme zur Beschreibung von Laufzeitszenarien
Gerichtete gewichtete Laufzeit-Abhängigkeitsgraphen
C3 (Component - Connector - Container) - Meta Model
Statische Sicht
Dynamische Sicht
Eindeutige Zuordnung der statischen zu der dynamischen Sicht
21. C3 (Component-Connector-Container) Meta Model
22. Optimierung der Erreichbarkeit - Das Optimierungsmodell Störungsmetrik als Knapsack-Minimierungsproblem
Wopt ist idealerweise 0 und hängt von mehreren Parametern ab
Störung proportional zum Gewicht der betroffenen Dienste
23. Bestimmung einer minimalen Störung - Das Analysemodell Graphentheoretische Analyse des Rekonfigurationsauftrags
Szenariobasierte Bestimmung minimaler Laufzeit-Abhängigkeitsgraphen
Analyse des Benutzungsmodells des Systems
Analyse des internen Laufzeitverhaltens des Systems
Analyse der Benutzungsintensität
Zuordnung der Laufzeit-Abhängigkeitsgraphen zu den System-Laufzeitzuständen
Wiedererkennung des optimalen Zustandsraums zur Laufzeit
Monitoring
Einsatz von Dienst-Effekt-Automaten
Berücksichtigung der Dauer und Dringlichkeit der Rekonfiguration
24. Analyse des Rekonfigurationsauftrags Rekonfigurationsauftrag R = {2,5}
25. Szenariobasierte Laufzeit-Abhängigkeitsgraphen
26. Zuordnung der Systemzustände
27. Laufzeit-Abhängigkeitsgraphen
28. Benutzungsintensität: Dienst k benötigt von i, angeboten durch j
29. Dienst-Effekt-Spezifikation zur Wiedererkennung der Zustände
31. Transaktionale Rekonfiguration - Das Rekonfigurationsmodell Laufzeitprotokoll auf Systemebene
Atomarität und Isolation durch Zustand ready to reconfigure
Austauschprozess im Zustand reconfiguring
Wiederherstellung im Zustand restoring
Lebenszyklus- und Redeployment-Protokoll auf Komponentenebene
Blockierung möglich aus Zustand free und passive & used
Atomarität und Isolation durch Zustand blocked / ready to change
Austauschprozess im Zustand redeploying
Wiederherstellung im Zustand restoring
Formalisierung mit CTL als Verifikationsgrundlage
Rekonfiguration als offen-geschachtelte Redeployment-Transaktion
Plattformunabhängiger Rekonfigurationsmanager – PIRMA
Observer
Business Delegate
Component Configurator
32. Laufzeitprotokoll auf Systemebene Atomarität und Isolation
ready to reconfigure
Austauschprozess
reconfiguring
Wiederherstellung
restoring
33. Lebenszyklusprotokoll auf Komponentenebene
Blockierungsmöglichkeit
free
passive and used
Atomarität und Isolation
blocked / ready to change
Austauschprozess
redeploying / undeploying
Wiederherstellung
restoring
34. Komponenten Redeployment Protokoll
35. Redeployment-Protokoll (CTL / Kripke-Struktur)
36. Gliederung Eigener Ansatz und Beitrag
Evaluation
Verwandte Arbeiten
Zusammenfassung
Ausblick
37. Java EE - basierte Realisierung des Rekonfigurationssystems
38. Typische J2EE - Rekonfigurationsszenarien [Hildebrandt, 2005]
39. Redeployment - Dauer und Antwortzeiten [Bunge, 2008]
40. Redeployment - Dauer und Antwortzeiten [Bunge, 2008]
41. Optimierung: Bestimmung und Wiedererkennung der Zustände
42. Experimentspezifischer Abhängigkeitsgraph [Stöver, 2007]
43. Minimale Laufzeit-Abhängigkeitsgraphen [Grüssing, 2008] Rekonfigurationsauftrag für die häufig benutzte Komponente “com.ibatis.jpetstore.service.CatalogService”
1 min Messung bei 20 parallel aktiven Benutzern
44. Beitrag der studentischen Arbeiten zur Evaluation Java EE - basierte Realisierung des Rekonfigurationssystems
Systematisierung der Rekonfigurationsaufträge durch XML-Data-Binding (Diplomarbeit [Pakdaman, 2003])
Durchführung der Rekonfiguration als transaktionales Redeployment zur Laufzeit für J2EE Systeme basiert auf J2EE Deployment API (Individuelles Projekt [Olliges, 2004] und Diplomarbeit [Olliges, 2005])
Portierung des Redeployment-Systems (Diplomarbeit [Bunge, 2008])
Java EE - basierte Evaluation der Laufzeit-Rekonfiguration
J2EE Entwurfsmuster als Grundlage für typische Rekonfigurationsszenarien (Diplomarbeit [Hildebrandt, 2005])
Evaluation des Redeployment-Systems auf Java EE bez. Funktionalität, Redeployment-Dauer und Antwortzeiten (Diplomarbeit [Bunge, 2008])
Evaluation der Optimierung der Erreichbarkeit
Berechnung und Auswertung von Laufzeit-Abhängigkeitsgraphen aus Monitoringdaten (Individuelles Projekt [Stöver, 2007])
Wiedererkennung der analytisch bestimmten Zustände zur Laufzeit
(Individuelles Projekt [Grüssing, 2008])
45. Verwandte Arbeiten Architekturbasierte dynamische Rekonfiguration
[Batista, Joolia and Coulson, 2005] Managing dynamic reconfiguration in component-based systems
[Oquendo, Warboys, Morrison, Dindeleux, Gallo, Garavel, Occhipinti, 2004] ArchWARE: Architecting Evolvable Software
[Oreizy, Medvidovic and Taylor, 1998] Architecture based runtime software evolution
[Allen, Garlan, and Douence, 1997] Specifying Dynamism in Software Architectures
Rekonfiguration als Graphtransformation
Protokollbasierte Rekonfiguration
Redeployment Strategien
46. Architekturbasierte dynamische Rekonfiguration
Rekonfiguration als Graphtransformation
[Zhou, 2008] A runtime architecture-based approach for the dynamic evolution of distributed component-based systems
[Grunske, 2005] Formalizing architectural refactorings as graph transformation systems
[Jim Dowling and Vinny Cahill, 2001] The K-Component Architecture Meta-Model for Self-Adaptive Software
[Wermelinger, 1999] Specification of Software Architecture Reconfiguration
Protokollbasierte Rekonfiguration
Redeployment Strategien Verwandte Arbeiten
47. Architekturbasierte dynamische Rekonfiguration
Rekonfiguration als Graphtransformation
Protokollbasierte Rekonfiguration
[Hammer, 2009] How To Touch a Running System: Reconfiguration of Stateful Components
[Reussner, 2003] Automatic Component Protocol Adaptation with the CoCoNut Tool Suite
[Plasil and Visnovsky, 2002] Behavior protocols for software components
[Kon and Campbell, 2000] Dependence management in component-based distributed systems
[Plasil, Balek and Janecek, 1998] SOFA/DCUP: Architecture for component trading and dynamic updating
[Allen, Garlan, and Douence, 1997] Specifying dynamism in software architectures
Redeployment Strategien Verwandte Arbeiten
48. Architekturbasierte dynamische Rekonfiguration
Rekonfiguration als Graphtransformation
Protokollbasierte Rekonfiguration
Redeployment Strategien
[Gregersen and Jorgensen, 2008] Module reload through Dynamic Update – The Case of NetBeans
[Diaconescu, 2006] Automatic Performance Optimisation of Component-Based Enterprise Systems via Redundancy
[Janssens, Michiels, Holvoet and Verbaeten, 2004] A modular approach enforcing safe reconfiguration of producer-consumer applications
[Rasche, Polze, 2003] Configuration and Dynamic Reconfiguration of Component-Based Applications with Microsoft .NET
[Rutherford, Anderson, Carzaniga, Heimbigner and Wolf, 2002] Reconfiguration in the Enterprise JavaBean component model
[Kramer and Magee, 1990] The Evolving Philosophers Problem: Dynamic Change Management
Verwandte Arbeiten
49. Zusammenfassung Neuer modellbasierter Ansatz zur
Transaktionalen Durchführung einer Rekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit
Optimierung der Erreichbarkeit durch Minimierung
der Störung während der Rekonfiguration
Wissenschaftlicher Beitrag:
Anwendungsmodell: Sichtbasierte System-Architekturbeschreibung
Optimierungsmodell: Kombinatorische Optimierung (Knapsack) bedingt durch eine Multikriterien-Entscheidungsfindung
Analysemodell: Modellbasierte Analyse der relevanten Parameter (insbesondere des Laufzeitverhaltens) zur Minimierung der Störung während der Rekonfiguration
Rekonfigurationsmodell: Transaktionales Konzept zur transparenten Durchführung der Rekonfiguration zur Laufzeit
50. Ausblick Erweiterung bzw. Verbesserung der Analyse der Laufzeitabhängigkeiten
Einsatz von Hypergraphen zur Differenzierung zwischen Instanzen
Erweiterung der Analyse auf der Ebene der Anwendungslogik (ansatzweise in der Evaluation gezeigt)
Einsatz von Live Sequence Charts zur expliziten Modellierung von Antwortzeiten und obligatorischem Verhalten
Einsatz von Model Checking zur Verifikation des Redeployment-Systems
Grundlage durch die Formalisierung mit CTL gegeben
Erkennung von fehlerhaften Zuständen und autonome Anpassung
Erweiterung des Optimierungsmodells durch Optimierung des Redeployment-Konzepts
Berücksichtigung zusätzlicher Parameter zur Auswahl der optimalen Redeployment-Strategie
Optimierung des Energieverbrauchs durch gezieltes Redeployment
51. Publikationen
Publikationen
J.Matevska. Model-based Runtime Reconfiguration of Component-based Systems. In: Proc. of the WarmUp Workshop (WUP 2009) for ACM/IEEE ICSE 2010, ACM, 2009.
J.Matevska. An optimised Runtime Reconfiguration of Component-based Software Systems. Doctoral Symposium of the 32nd Annual IEEE International Computer Software and Applications Conference (COMPSAC 2008). IEEE 2008.
M. Rohr and A. van Hoorn and S. Giesecke and J. Matevska and W. Hasselbring and S. Alekseev. Trace-context sensitive performance profiling for enterprise software applications. In Proceedings of SPEC International Performance Evaluation Workshop (SIPEW'08), Lecture Notes of Computer Science (LNCS), Springer, accepted for publication.
M. Rohr and A. van Hoorn and S. Giesecke and J. Matevska and W. Hasselbring. Trace-Context-Sensitive Performance Models from Monitoring Data of Software-intensive Systems. In Proceedings of the Workshop on Tools, Infrastructures, and Methodologies for the Evaluation of Research Systems (TIMERS'08) at IEEE International Symposium on Performance Analysis of Systems and Software, IEEE, 2008.
M. Rohr, A. van Hoorn, J. Matevska, L. Stoever, N. Sommer, S. Giesecke, and W. Hasselbring. Kieker: Continuous monitoring and on demand visualization of java software behavior. In Proc. of the IASTED International Conf. on Software Engineering. ACTA Press, 2008.
J.Matevska and W. Hasselbring. A scenario-based approach to increasing service availability at runtime reconfiguration of component-based systems. In Proc. of 33rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA’07), Lübeck, Germany, pages 137–144. IEEE, 2007.
Jan Behrens, Simon Giesecke, Henning Jost, Jasminka Matevska, and Ulf Schreier. Architekturbeschreibung. In Handbuch der Software-Architektur, pages 35-64. dPunkt Verlag, 2006.
Jasminka Matevska and Simon Giesecke. Architekturbeschreibungssprachen. In Handbuch der Software-Architektur, pages 477-482. dPunkt Verlag, 2006.
Jasminka Matevska-Meyer, Wilhelm Hasselbring, and Ralf Reussner. Software architecture description supporting component deployment and system runtime reconfiguration. In Proceedings of Workshop on Component-Oriented Programming WCOP 2004, Oslo, Norway, June 2004.
Jasminka Matevska-Meyer, Sascha Olliges and Wilhelm Hasselbring. Runtime Reconfiguration of J2EE Applications. In Proceedings of DECOR’04 - 1st French Conference on Software Deployment and (Re) Configuration, Grenoble, France, October 2004.
Jasminka Matevska-Meyer, Wilhelm Hasselbring, and Ralf Reussner. Exploiting protocol information for speeding up runtime reconfiguration of component-based systems. In Proceedings of Workshop on Component-Oriented Programming WCOP 2003, Darmstadt, Germany, July 2003.
Jasminka Matevska-Meyer and Wilhelm Hasselbring. Enabling Reconfiguration of Component-Based Systems at Runtime. In Proceedings of Workshop on Software Variability Management, Groningen, The Netherlands, February 2003.
52. Literatur
Literatur
[SNEED, 2008] Offering Software Maintenance as an Offshore Service. In: 24th IEEE International Conference on Software Maintenance (ICSM’08)
[Pressman and Ince, 2000] Roger S. Pressman and Darrel Ince. Software Engineering: A Practitioner’s Approach, 5th Edition, European Adaption. McCraw-Hill, Inc., 2000. 5th Edition, European Adaption.
[Diestel, 2000] Reinhard Diestel. Graph Theory. Springer, 2000.
[Jungnickel, 2001] Dieter Jungnickel. Graphs, Netzworks and Algorithms. Springer, 2002.
[Turau, 1996] Volker Turau. Algotithmische Graphentheorie. Addison-Wesley, 1996.
[Reussner, 2001] Ralf H. Reussner. Parametrisierte Verträge zur Protokolladaption bei Software-Komponenten. PhD thesis, Universität (T. H.) Karlsruhe, 2001.
[Obj, 2007] Object Management Group OMG. Unified Modeling Language (UML), Version 2.1.2, 2007. http://www.omg.org/spec/UML/2.1.2/.
[ITU, 2004] International Telecommunication Union. ITU-T Recommendation Z.120: Message Sequence Chart (MSC), 2004.
[van Hoorn et al., 2008] A. van Hoorn and M. Rohr and W. Hasselbring. Generating Probabilistic and Intensity-varying Workload for Web-based Software Systems. In Proc. Of SPEC International Performance Evaluation Workshop (SIPEW '08). Springer, 2008.
[Trivedi, 1982] Kishor Shridharbhai Trivedi. Probability and statistics with reliability, queuing, and computer science applications. pub-PH, pub-PH:adr, 1982.
[Smith and Williams, 2002] C. U. Smith and L. G. Williams. Performance Solutions: A practical guide to creating responsive, scalable software. Addison-Wesley, 2002.
[Roh et al., 2008] M. Rohr and A. van Hoorn and S. Giesecke and J. Matevska and W. Hasselbring and S. Alekseev. Trace-context sensitive performance profiling for enterprise software applications. In Proc. of SPEC International Performance Evaluation Workshop (SIPEW'08). Springer, 2008.
[JBoss, 2007] JBoss Group. JBoss Application Server Documentation. http://www.jboss.org/docs/index. Retrieved 2007-03-20.
[Gray and Reuter, 1993] Jim Gray and Andreas Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.
[Rohr et al.1, 2008] M. Rohr, A. van Hoorn, J. Matevska, L. Stoever, N. Sommer, S. Giesecke, and W. Hasselbring. Kieker: Continuous monitoring and on demand visualization of java software behavior. In Proc. of the IASTED International Conf. on Software Engineering. ACTA Press, 2008.
[Rohr et al.2, 2008] M. Rohr and A. van Hoorn and S. Giesecke and J. Matevska and W. Hasselbring and S. Alekseev. Trace-context sensitive performance profiling for enterprise software applications. In Proceedings of SPEC International Performance Evaluation Workshop (SIPEW'08), Lecture Notes of Computer Science (LNCS), Springer, accepted for publication.
53. Literatur
Literatur
[Batista et al., 2005] T. V. Batista, A. Joolia, and G. Coulson. Managing dynamic reconfiguration in component-based systems. In Proc. of the 2nd European Workshop on Software Architecture (EWSA’05), pages 1–17, 2005.
[Oreizy et al., 1998] P. Oreizy, N. Medvidovic, and R. N. Taylor. Architecturebased runtime software evolution. In Proc. of the International Conf. on Software Engineering 1998 (ICSE’98), pages 177–186. ACM, 1998.
[Zhou, 2008] Y. Zhou. A runtime architecture-based approach for the dynamic evolution of distributed component-based systems. In Doctoral Symposium of the 30th International Conf. on Software Engineering (ICSE’08). ACM, 2008.
[Grunske, 2005] L. Grunske. Formalizing architectural refactorings as graph transformation systems. In Proc. of the Sixth International Conf. on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD’05), pages 324–329. IEEE, 2005.
[Wermelinger, 1999] Michel Wermelinger. Specification of Software Architecture Reconfiguration. PhD thesis, Universidade Nova de Lisboa, 1999.
[Reussner, 2003] R. H. Reussner. Automatic Component Protocol Adaptation with the CoCoNut Tool Suite. Future Generation Computer Systems, 19(5):627–639, 2003.
[Plasil and Visnovski, 2002] F. Plasil and S. Visnovsky. Behavior protocols for software components. IEEE Transactions on Software Engineering, 28(11):1056–1076, Nov. 2002.
[Allen et al., 1997] Robert Allen, David Garlan, and Remi Douence. Specifying dynamism in software architectures. In Proceedings of the Workshop on Foundations of Component-Based Software Engineering, Zurich, Switzerland, September 1997.
[Kon and Campbell, 2000] Fabio Kon and Roy H. Campbell. Dependence management in componentbased distributed systems. IEEE Concurrency, 8(1):26–36, January 2000.
[Plasil et al., 1998] F. Plasil, D. Balek, and R. Janecek. SOFA/DCUP:Architecture for component trading and dynamic updating. In Proceedings of International Conference on Configurable Distributed Systems, pages 35–42. IEEE, March 1998.
[Janssens et al., 2004] N. Janssens, S. Michiels, T. Holvoet, and P. Verbaeten. A modular approach enforcing safe reconfiguration of producer-consumer applications. In Proc. of the 20th IEEE International Conf. on Software Maintenance (ICSM’04), pages 274–283. IEEE, 2004.
[Rutherford et al., 2002] Matthew J. Rutherford, Kenneth Anderson, Antonio Carzaniga, Dennis Heimbigner, and Alexander L. Wolf. Reconfiguration in the Enterprise JavaBean component model. In Judith Bishop, editor, Proceedings of IFIP/ACM Working Conference on Component Deployment, pages 67–81, Berlin, Germany, June 2002. Springer.
[Chen and Simons, 2002] X. Chen and M. Simons. A component framework for dynamic reconfiguration of distributed systems. In Proc. Of IFIP/ACMWorking Conf. on Component Deployment, pages 82–96. Springer, 2002.
[Adamek and Plasil, 2004] J. Adamek and F. Plasil. Component composition errors and update atomicity Static analysis. Journal of Software Maintenance and Evolution: Research and Practice, 2004.