Modeling Dynamic Architectures Using Nets-Within-Nets

  • Lawrence Cabac
  • Michael Duvigneau
  • Daniel Moldt
  • Heiko Rölke
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3536)

Abstract

Current modeling techniques are not well equipped to design dynamic software architectures. In this work we present the basic concepts for a dynamic architecture modeling using nets-within-nets. Nets-within-nets represent a powerful formalism that allows active elements, i.e. nets, to be nested in arbitrary and dynamically changeable hierarchies. Applying the concepts from nets-within-nets, therefore, allows us to model complex dynamic system architectures in a simple way, which enables us to design the system at different levels of abstractions using refinements of net models.

Additionally to the conceptual modeling of such architecture, we provide a practical example where the concept has been successfully applied in the development of the latest release of Renew (Version 2 of the multi-formalism Petri net IDE). The overall monolithic architecture has been exchanged with a system that is divided into a plug-in management system and plug-in’s that provide functionality for the users. By combining plug-ins the system can be adapted to the users’ needs. Through the introduction of the Petri net concepts, the new architecture is now – at runtime – dynamically extensible by registering plug-ins with the management system. The introduced architecture is applicable for any kind of architecture but most suitable for applications with dynamic structure.

Keywords

High-level Petri nets Nets-within-nets reference nets Renew plug-ins components dynamic software architecture modeling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Cabac, L., Moldt, D., Rölke, H.: A proposal for structuring Petri net-based agent interaction protocols. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 102–120. Springer, Berlin (2003)CrossRefGoogle Scholar
  2. 2.
    Christensen, S., Hansen, N.D.: Coloured Petri nets extended with channels for synchronous communication. Technical Report DAIMI PB–390, Computer Science Department, Aarhus University, DK-8000 Aarhus C, Denmark (April 1992)Google Scholar
  3. 3.
    Eichler, C.: Entwicklung einer Plug-In-Architektur für dynamische Komponenten. Diplomarbeit, University of Hamburg, Department of Computer Science, Vogt-Kölln Str. 30, 22527 Hamburg, Germany (2002)Google Scholar
  4. 4.
    Jacob, T.: Implementation einer sicheren und rollenbasierten Workflow-Managementkomponente für ein Petrinetzwerkzeug. Diplomarbeit, University of Hamburg, Department of Computer Science (2002)Google Scholar
  5. 5.
    Kummer, O.: Referenznetze. Logos, Berlin (2002)Google Scholar
  6. 6.
    Kummer, O., Wienberg, F., Duvigneau, M.: Renew – The Reference Net Workshop (October 2004), http://www.renew.de (Release 2.0.1)
  7. 7.
    Kummer, O., Wienberg, F., Duvigneau, M., Schumacher, J., Köhler, M., Moldt, D., Rölke, H., Valk, R.: An extensible editor and simulation engine for Petri nets: Renew. In: Cortadella, J., Reisig, W. (eds.) ICATPN 2004. LNCS, vol. 3099, pp. 484–493. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transaction on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  9. 9.
    Object Management Group (OMG). Unified Modeling Language, (UML) (2004), http://www.uml.org
  10. 10.
    Reisig, W.: Elements of Distributed Algorithms: Modeling and Analysis with Petri Nets. Springer, New York (1997)Google Scholar
  11. 11.
    Rölke, H.: Modellierung von Agenten und Multiagentensystemen – Grundlagen und Anwendungen. Agent Technology – Theory and Applications, vol. 2. Logos, Berlin (2004)MATHGoogle Scholar
  12. 12.
    Sametinger, J.: Software Engineering with Reusable Components. Springer, Berlin (1997)MATHGoogle Scholar
  13. 13.
    Schumacher, J.: Eine Plug-in-Architektur für Renew: Konzepte, Methoden, Umsetzung. Diplomarbeit, University of Hamburg, Department of Computer Science (October 2003)Google Scholar
  14. 14.
    Szyperski, C.: Component software: beyond object-oriented programming. ACM Press books, New York (2002); Addison-Wesley, 2nd edn.Google Scholar
  15. 15.
    Torkar, R.: Dynamic software architectures. In: Crnkovic, I., Larsson, M. (eds.) Building Reliable Component-based Systems, ch. 3, pp. 21–28. Artech House (2002)Google Scholar
  16. 16.
    Valk, R.: Petri nets as dynamical objects. In: Agha, G., De Cindio, F. (eds.) Workshop Proc. 16th International Conf. on Application and Theory of Petri Nets, Torino, Italy (June 1995)Google Scholar
  17. 17.
    Wienberg, F.: Informations- und prozeßorientierte Modellierung verteilter Systeme auf der Basis von Feature-Structure-Netzen. Dissertation, University of Hamburg, Department of Computer Science, Vogt-Kölln Str. 30, 22527 Hamburg, Germany (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Lawrence Cabac
    • 1
  • Michael Duvigneau
    • 1
  • Daniel Moldt
    • 1
  • Heiko Rölke
    • 1
  1. 1.Department of Computer ScienceUniversity of HamburgHamburg

Personalised recommendations