Architectural Specifications: Modeling and Structuring Behavior Through Rules

  • Carlos Paredes
  • José Luiz Fiadeiro
  • José Félix Costa
Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 371)

Abstract

We propose an approach covering both the linguistic and engineering dimensions of the behavioral specification of reactive systems. On the language side, systems, their components and connectors, are described through CV-Nets. CV-Nets are a formal graph-oriented language which includes attributes, actions and behavioral rules based on deontic and temporal logic. It is shown how the model promotes concurrency, modularity, reusability, abstraction, and refinement of specifications. The engineering side is based on category theory as a support for (i) specialization and refinement of abstract specifications and frameworks (following a top-down tailoring approach), as well as for (ii) the modeling and composition of components and connectors (following a bottom-up construction approach).

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AG94]
    R. Allen and D. Garlan, Formal Connectors, Technical Report CMU-CS-94-115, Carnegie Mellon University, March 1994.ftp://reports.adm.cs.cmu.edu/usr/anon/1994/CMU-CS-94-115.ps.
  2. [CEW93]
    I. Cla\en, H. Ehrig, and D. Wolz, Algebraic Specification Techniques and Tools for Software Development, AMAST Series in Computing, Vol. 1, World Scientific, 1993.Google Scholar
  3. [CSS92]
    J.-F. Costa, A. Sernadas, C. Sernadas, and H.-D. Ehrich, “Object Interaction”, in Proc. of Mathematical Foundations of Computer Science, LNCS, Vol. 629, Springer-Verlag, 1992, pp. 200–208.Google Scholar
  4. [CSS93]
    J.-F. Costa, A. Sernadas, and C. Sernadas, “Object Inheritance Beyond Subtyping”, in Ada Informatica, Vol. 31, Springer-Verlag, 1993, pp. 5–26.CrossRefGoogle Scholar
  5. [DK92]
    E. Dürr and J. van Katwijk, “VDM++: A Formal Specification Language for O-O Designs”, in Proceedings of TOOLS 7, G. Heeg, B. Magnusson, B. Meyer (eds), Prentice-Hall, 1992, pp. 63–78.Google Scholar
  6. [DKRS91]
    R. Duke, P. King, G. Rose, and G. Smith, The Object-Z Specification language, Version 1, Technical Report 91-1, University of Queensland, Dept. of Computer Science, May 1991.Google Scholar
  7. [EGS91]
    H.-D. Ehrich, J. Goguen, and A. Sernadas, “A Categorial Theory of Objects as Observed Processes”, in Proc. of the REX90 Workshop on Foundations of Object-Oriented Languages, LNCS 489, Springer-Verlag, 1991, pp. 203–228.CrossRefGoogle Scholar
  8. [FM92]
    J. Fiadeiro and T. Maibaum, “Temporal Theories as Modularization Units for Concurrent System Specification”, in Formal Aspects of Computing, 4(3), 1992, pp. 239–272.MATHCrossRefGoogle Scholar
  9. [FM94]
    J.L. Fiadeiro and T. Maibaum, Category Theory for the Object Technologist, OOPSLA’94 Tutorial Notes #8, Portland (OR), October 1994. ftp://ftp.fc.ul.pt/pub/papers/modeling/94-FM-OOPSLA-TutCateg.ps.gz
  10. [FM95]
    J. Fiadeiro and T. Maibaum, “Interconnecting Formalisms: Supporting Modularity, Reuse and Incrementality”, in Proc. 3rd Symposium on the Foundations of Software Engineering (FSE3), ACM SIGSOFT, October 1995, pp. 71–80.Google Scholar
  11. [FM96]
    J. Fiadeiro and T. Maibaum, “A Mathematical Toolbox for the Software Architect”, in Proc. Int’l Workshop on Software Specification and Design (IWSSD-8), IEEE Press, March 1996, pp. 46–55.Google Scholar
  12. [FSMS92]
    J. Fiadeiro, C. Sernadas, T. Maibaum, and A. Sernadas, “Describing and Structuring Objects for Conceptual Schema Development”, in Conceptual Modelling, Databases and CASE, P. Loucopoulos and R. Zicari (eds), John Wiley, 1992, pp. 117–138.Google Scholar
  13. [GG78]
    J. Goguen and S. Ginali, “A Categorical Approach to General Systems Theory”, in Applied General Systems Research, G. Klir (ed), Plenum 1978, pp. 257–270.Google Scholar
  14. [GH93]
    J. Guttag and J. Horning, Larch: Languages and Tools for Formal Specification, Springer, 1993.Google Scholar
  15. [GHJV94]
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Object-Oriented Software Design, Addison-Wesley, 1994.Google Scholar
  16. [Gog91]
    J. Goguen, “Types as Theories”, in Proc. Conf. on Topology and Category Theory in Computer Science, Oxford University Press, 1991, pp. 357–390.Google Scholar
  17. [GP95]
    D. Garlan and D. Perry (guest eds), IEEE Transactions on Software Engineering (Special Issue on Software Architecture), 21(4), April 1995.Google Scholar
  18. [GS95]
    J. Goguen and A. Socorro, Module Composition and System Design for the Object Paradigm, Technical Monograph PRG-117, Oxford University, January 1995. Abstract available at http://www.comlab.ox.ac.uk/oucl/publications/monos/PRG-l 17.html.
  19. [GWMFJ92]
    J. Goguen, T. Winkler, J. Meseguer, K. Futatsugi, and J.-P. Jouannaud, Introducing OBJ3, Technical Report SRI-CSL-92-03, SRI International, 1992.Google Scholar
  20. [HHG90]
    R. Helm, I. Holland, and D. Gangopadhyay, “Contracts: Specifying Behavioral Compositions in Object-Oriented Systems”, in Proc. of ECOOP/OOPSLA’ 90 joint Conference, ACM SIGPLAN Notices, 25(10), October 1990, pp. 169–180.Google Scholar
  21. [Joh93]
    R. Johnson, How to Design Frameworks, Tutorial Notes, OOPSLA’93, Washington (DC), 1993. ftp://st.cs.uiuc.edu/pub/papers/frameworks/OOPSLA93-frmwk-tut.ps.
  22. [KR94]
    H. Kilov and J. Ross. Information Modeling: an Object-Oriented Approach. Prentice-Hall Object-Oriented Series, 1994.Google Scholar
  23. [Lea96]
    G. Leavens, “An Overview of Larch/C++: Behavioral Specifications for C++ Modules”, in this book, Chapter 8, pp. 121–142.Google Scholar
  24. [LKAVBM95]
    D. Luckham, J. Kenney, L. Augustin, J. Vera, D. Bryan, and W. Mann, “Specification and Analysis of System Architecture Using Rapide”, in IEEE Transactions on Software Engineering (Special Issue on Software Architecture), 21(4), April 1995, pp. 336–355.CrossRefGoogle Scholar
  25. [MDEK95]
    J. Magee, N. Dulay, S. Eisenbach, and J. Kramer, “Specifying Distributed Software Architectures”, in Proc. 5th European Software Engineering Conference (ESEC’95), Barcelona, September 1995.Google Scholar
  26. [MP91]
    Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems: Specification, Springer-Verlag, 1991.Google Scholar
  27. [Par94]
    C. Paredes, Reuse of Object Specifications, Technical Report, University of Lisbon, September 1994 (in Portuguese). ftp://ftp.fc.ul.pt/pub/papers/modeling/94-Par-Reuse.ps.gz.
  28. [PF95]
    C. Paredes and J. Fiadeiro, “Reuse of Requirements and Specifications: A Formal Framework”, in Proc. ACM SIGSOFT Symposium on Software Reusability (SSR’95), Seattle (WA), April 1995, pp. 263–266.Google Scholar
  29. [PFC92]
    C. Paredes, J. Fiadeiro, and J. Costa, “Object Reuse and Composition, within a Formal Framework”, in Proc. ERCIM Workshop on Methods and Tools for Software Reuse, Heraklion, Crete, Greece, October 1992, pp. 162–182. ftp://ftp.fc.ul.pt/pub/papers/modeling/92-PFC-ErcimReuse.ps.gz.
  30. [SEC90]
    A. Sernadas, H.-D. Ehrich, and J.-F. Costa, “From Processes to Objects”, in The INESC Journal of Research and Development, Vol. 1,No. 1, 1990, pp. 7–27.Google Scholar
  31. [Sha95]
    M. Shaw, “Architectural Issues in Software Reuse: It’s Not Just the Functionality, It’s the Packaging”, Summary of invited talk in Proc. ACM SIGSOFT Symposium on Software Reusability (SSR’95), Seattle (WA), April 1995, pp. 3–6.Google Scholar

Copyright information

© Kluwer Academic Publishers 1996

Authors and Affiliations

  • Carlos Paredes
    • 1
  • José Luiz Fiadeiro
    • 1
  • José Félix Costa
    • 1
  1. 1.Dept. InformaticsFaculty of Sciences, University of LisbonLisboaPortugal

Personalised recommendations