1 / 52

Modellbasierte erreichbarkeitsoptimierte Rekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit

alannis
Download Presentation

Modellbasierte erreichbarkeitsoptimierte Rekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Modellbasierte erreichbarkeitsoptimierte Rekonfiguration 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.

More Related