RISSEF 2002: Radical Innovations of Software and Systems Engineering in the Future pp 75-90 | Cite as
Toward Component-Oriented Formal Software Development: An Algebraic Approach
Abstract
Component based design and development of software is one of the most challenging issues in software engineering. In this paper, we adopt a somewhat simplified view of software components and discuss how they can be conveniently modelled in a framework that provides a modular approach to formal software development by means of stepwise refinement. In particular we take into account an observational interpretation of requirements specifications and study its impact on the definition of the semantics of specifications of (parametrized) components. Our study is carried out in the context of Casl architectural specifications.
Keywords
Hash Table Parametrized Unit Abstract Data Type Local Construction Correct RealizationPreview
Unable to display preview. Download preview PDF.
References
- [Ada94]Ada Reference Manual: Language and Standard Libraries, version 6.0. International standard ISO/IEC 8652:1995(E) (1994), http://www.adahome.com/rm95/
- [AS02]Aspinall, D., Sannella, D.: From specifications to code in Casl. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, pp. 1–14. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- [ABK+02]Astesiano, E., Bidoit, M., Kirchner, H., Krieg-Brückner, B., Mosses, P.D., Sannella, D., Tarlecki, A.: Casl: The Common Algebraic Specification Language. Theoretical Computer Science 286, 153–196 (2002)MATHCrossRefMathSciNetGoogle Scholar
- [AKBK99]Astesiano, E., Krieg-Brückner, B., Kreowski, H.-J. (eds.): Algebraic Foundations of Systems Specification. Springer, Heidelberg (1999)Google Scholar
- [BW82]Bauer, F., Wössner, H.: Algorithmic Language and Program Development. Springer, Heidelberg (1982)MATHGoogle Scholar
- [BH93]Bidoit, M., Hennicker, R.: A general framework for modular implementations of modular systems. In: Gaudel, M.-C., Jouannaud, J.-P. (eds.) CAAP 1993, FASE 1993, and TAPSOFT 1993. LNCS, vol. 668, pp. 199–214. Springer, Heidelberg (1993)Google Scholar
- [BH98]Bidoit, M., Hennicker, R.: Modular correctness proofs of behavioural implementations. Acta Informatica 35(11), 951–1005 (1998)CrossRefMathSciNetGoogle Scholar
- [BHW95]Bidoit, M., Hennicker, R., Wirsing, M.: Behavioural and abstractor specifications. Science of Computer Programming 25, 149–186 (1995)MATHCrossRefMathSciNetGoogle Scholar
- [BST02a]Bidoit, M., Sannella, D., Tarlecki, A.: Architectural specifications in Casl. Formal Aspects of Computing 13, 252–273 (2002)MATHCrossRefGoogle Scholar
- [BST02b]Bidoit, M., Sannella, D., Tarlecki, A.: Global development via local observational construction steps. In: Diks, K., Rytter, W. (eds.) MFCS 2002. LNCS, vol. 2420, pp. 1–24. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- [BT96]Bidoit, M., Tarlecki, A.: Behavioural satisfaction and equivalence in concrete model categories. In: Kirchner, H. (ed.) CAAP 1996. LNCS, vol. 1059, pp. 241–256. Springer, Heidelberg (1996)Google Scholar
- [BG80]Burstall, R., Goguen, J.: The semantics of Clear, a specification language. In: Bjorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 292–332. Springer, Heidelberg (1980)Google Scholar
- [CoFI03]The CoFI Task Group on Semantics. Semantics of the Common Algebraic Specification Language Casl (2003), Available from http://www.cofi.info/
- [EK99]Ehrig, H., Kreowski, H.-J.: Refinement and implementation. In: [AKBK 1999], pp. 201–242 (1999)Google Scholar
- [EKMP82]Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Algebraic implementation of abstract data types. Theoretical Computer Science 20, 209–263 (1982)MATHCrossRefGoogle Scholar
- [EM85]Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification I: Equations and Initial Semantics. Springer, Heidelberg (1985)MATHGoogle Scholar
- [Gan83]Ganzinger, H.: Parameterized specifications: parameter passing and implementation with respect to observability. ACM Transactions on Programming Languages and Systems 5, 318–354 (1983)MATHCrossRefGoogle Scholar
- [GGM76]Giarratana, V., Gimona, F., Montanari, U.: Observability concepts in abstract data type specifications. In: Mazurkiewicz, A. (ed.) MFCS 1976. LNCS, vol. 45, pp. 576–587. Springer, Heidelberg (1976)Google Scholar
- [Gin68]Ginzburg, A.: Algebraic Theory of Automata. Academic Press, London (1968)MATHGoogle Scholar
- [Gog84]Goguen, J.: Parameterized programming. IEEE Trans. on Software Engineering SE-10(5), 528–543 (1984)CrossRefGoogle Scholar
- [GB92]Goguen, J., Burstall, R.: Institutions: abstract model theory for specification and programming. Journal of the ACM 39, 95–146 (1992)MATHCrossRefMathSciNetGoogle Scholar
- [GM82]Goguen, J., Meseguer, J.: Universal realization, persistent interconnection and implementation of abstract modules. In: Nielsen, M., Schmidt, E.M. (eds.) ICALP 1982. LNCS, vol. 140, pp. 265–281. Springer, Heidelberg (1982)CrossRefGoogle Scholar
- [HN94]Hennicker, R., Nickl, F.: A behavioural algebraic framework for modular system design and reuse. In: Ehrig, H., Orejas, F. (eds.) Abstract Data Types 1992 and COMPASS 1992. LNCS, vol. 785, pp. 220–234. Springer, Heidelberg (1994)Google Scholar
- [Hoa72]Hoare, C.A.R.: Proofs of correctness of data representations. Acta Informatica 1, 271–281 (1972)MATHCrossRefGoogle Scholar
- [KST97]Kahrs, S., Sannella, D., Tarlecki, A.: The definition of Extended ML: a gentle introduction. Theoretical Comp. Sci. 173, 445–484 (1997)MATHCrossRefMathSciNetGoogle Scholar
- [Mil71]Milner, R.: An algebraic definition of simulation between programs. In: Proc. 2nd Intl. Joint Conf. on Artificial Intelligence, London, pp. 481–489 (1971)Google Scholar
- [Pau96]Paulson, L.: ML for the Working Programmer, 2nd edn. Cambridge Univ. Press, Cambridge (1996)MATHGoogle Scholar
- [Rei81]Reichel, H.: Behavioural equivalence — a unifying concept for initial and final specification methods. In: Proc. 3rd Hungarian Comp. Sci. Conference, pp. 27–39 (1981)Google Scholar
- [ST88a]Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and Computation 76, 165–210 (1988)MATHCrossRefMathSciNetGoogle Scholar
- [ST88b]Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: implementations revisited. Acta Informatica 25, 233–281 (1988)MATHCrossRefMathSciNetGoogle Scholar
- [ST89]Sannella, D., Tarlecki, A.: Toward formal development of ML programs: foundations and methodology. In: Díaz, J., Orejas, F. (eds.) TAPSOFT 1989 and CCIPL 1989. LNCS, vol. 352, pp. 375–389. Springer, Heidelberg (1989)Google Scholar
- [ST97]Sannella, D., Tarlecki, A.: Essential concepts of algebraic specification and program development. Formal Aspects of Computing 9, 229–269 (1997)MATHCrossRefGoogle Scholar
- [Sch87]Schoett, O.: Data Abstraction and the Correctness of Modular Programming. Ph.D. thesis, report CST-42-87, Dept. of Computer Science, Univ. of Edinburgh (1987)Google Scholar
- [Sch90]Schoett, O.: Behavioural correctness of data representations. Science of Computer Programming 14, 43–57 (1990)MATHCrossRefMathSciNetGoogle Scholar
- [SM02]Schröder, L., Mossakowski, T.: HasCasl: Towards integrated specification and development of functional programs. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, pp. 99–116. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- [SMT+01]Schröder, L., Mossakowski, T., Tarlecki, A., Hoffman, P., Klin, B.: Semantics of architectural specifications in Casl. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 253–268. Springer, Heidelberg (2001)CrossRefGoogle Scholar
- [Szy98]Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press, Addison-Wesley, New-York, N.Y.(1998)Google Scholar