Architectural Specifications: Modeling and Structuring Behavior Through Rules
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).
KeywordsObject Theory Category Theory Banking Account Safety Condition Saving Account
Unable to display preview. Download preview PDF.
- [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.
- [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
- [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
- [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
- [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
- [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
- [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
- [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
- [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
- [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
- [GH93]J. Guttag and J. Horning, Larch: Languages and Tools for Formal Specification, Springer, 1993.Google Scholar
- [GHJV94]E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Object-Oriented Software Design, Addison-Wesley, 1994.Google Scholar
- [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
- [GP95]D. Garlan and D. Perry (guest eds), IEEE Transactions on Software Engineering (Special Issue on Software Architecture), 21(4), April 1995.Google Scholar
- [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.
- [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
- [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
- [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.
- [KR94]H. Kilov and J. Ross. Information Modeling: an Object-Oriented Approach. Prentice-Hall Object-Oriented Series, 1994.Google Scholar
- [Lea96]G. Leavens, “An Overview of Larch/C++: Behavioral Specifications for C++ Modules”, in this book, Chapter 8, pp. 121–142.Google Scholar
- [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
- [MP91]Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems: Specification, Springer-Verlag, 1991.Google Scholar
- [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.
- [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
- [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.
- [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
- [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