Advertisement

Towards Managing Dynamic Reconfiguration of Software Systems in a Categorical Setting

  • Pablo F. Castro
  • Nazareno M. Aguirre
  • Carlos Gustavo López Pombo
  • Thomas S. E. Maibaum
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6255)

Abstract

Dynamic reconfiguration, understood as the ability to manage at run time the live components and how these interact in a system, is a feature that is crucial in various languages and computing paradigms, in particular in object orientation. In this paper, we study a categorical approach for characterising dynamic reconfiguration in a logical specification language. The approach is based on the notion of institution, which enables us to work in an abstract, logic independent, setting. Furthermore, our formalisation makes use of representation maps in order to relate the generic specification of components (e.g., as specified through classes) to the behaviour of actual instances in a dynamic environment. We present the essential characteristics for dealing with dynamic reconfiguration in a logical specification language, indicating their technical and practical motivations. As a motivational example, we use a temporal logic, component based formalism, but the analysis is general enough to be applied to other logics. Moreover, the use of representation maps in the formalisation allows for the combination of different logics for different purposes in the specification. We illustrate the ideas with a simple specification of a Producer-Consumer component based system.

Keywords

Temporal Logic Software Architecture Natural Transformation Category Theory Linear Temporal Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abrial, J.R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)zbMATHCrossRefGoogle Scholar
  2. 2.
    Aguirre, N., Maibaum, T.: Some Institutional Requirements for Temporal Reasoning about Dynamic Reconfiguration. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 407–435. Springer, Heidelberg (2004)Google Scholar
  3. 3.
    Burstall, R., Goguen, J.: Putting Theories together to make Specifications. In: Proc. of the Fifth International Joint Conference on Artificial Intelligence (1977)Google Scholar
  4. 4.
    Cengarle, M., Knapp, A., Tarlecki, A., Wirsing, M.: A Heterogeneous Approach To UML Semantics. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 383–402. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Diaconescu, R.: Institution-independent Model Theory. Studies in Universal Logic, vol. 2. Birkhäuser, Basel (2008)Google Scholar
  6. 6.
    Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification, vol. 2. Springer, Heidelberg (1990)zbMATHGoogle Scholar
  7. 7.
    Fiadeiro, J., Maibaum, T.: Temporal Theories as Modularisation Units for Concurrent System Specification. Formal Aspects of Computing 4(3) (1992)Google Scholar
  8. 8.
    Fiadeiro, J., Maibaum, T.: Describing, Structuring and Implementing Objects. In: de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1990. LNCS, vol. 489, Springer, Heidelberg (1991)CrossRefGoogle Scholar
  9. 9.
    Fiadeiro, J.: Categories for Software Engineering. Springer, Heidelberg (2004)Google Scholar
  10. 10.
    Garlan, D.: Software Architecture: A Roadmap. In: Filkenstein, A. (ed.) The Future of Software Engineering. ACM Press, New York (2000)Google Scholar
  11. 11.
    Goguen, J., Burstall, R.: Introducing Institutions. In: Hutchison, D., Shepherd, W.D., Mariani, J.A. (eds.) Local Area Networks: An Advanced Course. LNCS, vol. 184, Springer, Heidelberg (1985)Google Scholar
  12. 12.
    Goguen, J., Burstall, R.: Institutions: Abstract Model Theory for Specification and Programming. Journal of the ACM 39(1) (1992)Google Scholar
  13. 13.
    Goguen, J., Rosu, G.: Institution Morphisms. Formal Aspects of Computing 13(3-5) (2002)Google Scholar
  14. 14.
    Hirsch, D., Montanari, U.: Two Graph-Based Techniques for Software Architecture Reconfiguration. ENTCS, vol. 51. Elsevier, Amsterdam (2001)Google Scholar
  15. 15.
    Knapp, A., Marczynski, G., Wirsing, M., Zawlocki, A.: A Heterogeneous Approach to Service-Oriented Systems Specification. In: Proc. of the ACM Symposium on Applied Computing, SAC 2010. ACM Press, New York (2010)Google Scholar
  16. 16.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, Heidelberg (1991)zbMATHGoogle Scholar
  17. 17.
    Medvidovic, N.: ADLs and Dynamic Architecture Changes. In: Proc. of the 2nd. International Software Architecture Workshop ISAW-2 (1996)Google Scholar
  18. 18.
    Meseguer, J.: General Logics. In: Logic Colloquium 1987. North Holland, Amsterdam (1989)Google Scholar
  19. 19.
    Mossakowski, T., Maeder, C., Luttich, K.: The Heterogeneous Tool Set, Hets. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 519–522. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  20. 20.
    Pierce, B.: Basic Category Theory for Computer Scientists. The MIT Press, Cambridge (1991)Google Scholar
  21. 21.
    Sannella, D., Tarlecki, A.: Specifications in an Arbitrary Institution. Inf. Comput. 76(2/3) (1988)Google Scholar
  22. 22.
    Tarlecki, A.: Moving Between Logical Systems. In: Haveraaen, M., Dahl, O.-J., Owe, O. (eds.) Abstract Data Types 1995 and COMPASS 1995. LNCS, vol. 1130, Springer, Heidelberg (1996)Google Scholar
  23. 23.
    Tarlecki, A.: Toward Specifications for Reconfigurable Component Systems. In: Kleijn, J., Yakovlev, A. (eds.) ICATPN 2007. LNCS, vol. 4546, pp. 24–28. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  24. 24.
    Tarlecki, A.: Towards Heterogeneous Specifications. In: Frontiers of Combining Systems. Studies in Logic and Computation, vol. 2. Research Studies Press, Hertfordshire (2000)Google Scholar
  25. 25.
    Tarlecki, A.: Abstract Specification Theory: An Overview. In: Proc. of the NATO Advanced Study Institute on Models, Algebras and Logic of Engineering Software. NATO Science Series. IOS Press, Amsterdam (2003)Google Scholar
  26. 26.
    Wermelinger, M., Lopes, A., Fiadeiro, J.: A Graph Based Architectural (Re)configuration Language. In: Proc. of the Joint European Software Engineering Conference the Symposium on the Foundations of Software Engineering, ESEC/FSE 2001. ACM Press, New York (2001)Google Scholar
  27. 27.
    Davies, J., Woodcock, J.: Using Z. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Pablo F. Castro
    • 1
  • Nazareno M. Aguirre
    • 1
  • Carlos Gustavo López Pombo
    • 2
  • Thomas S. E. Maibaum
    • 3
  1. 1.Departamento de Computación, FCEFQyNUniversidad Nacional de Río Cuarto and CONICET, Río CuartoCórdobaArgentina
  2. 2.Departamento de Computación, FCEyNUniversidad de Buenos Aires and CONICETBuenos AiresArgentina
  3. 3.Department of Computing & SoftwareMcMaster UniversityHamiltonCanada

Personalised recommendations