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.
This work has been partially supported by KBN grant 7T11C 002 21 and European AGILE project IST-2001-32747 (AT), CNRS–PAS Research Cooperation Programme (MB, AT), and British–Polish Research Partnership Programme (DS, AT).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ada Reference Manual: Language and Standard Libraries, version 6.0. International standard ISO/IEC 8652:1995(E) (1994), http://www.adahome.com/rm95/
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)
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)
Astesiano, E., Krieg-Brückner, B., Kreowski, H.-J. (eds.): Algebraic Foundations of Systems Specification. Springer, Heidelberg (1999)
Bauer, F., Wössner, H.: Algorithmic Language and Program Development. Springer, Heidelberg (1982)
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)
Bidoit, M., Hennicker, R.: Modular correctness proofs of behavioural implementations. Acta Informatica 35(11), 951–1005 (1998)
Bidoit, M., Hennicker, R., Wirsing, M.: Behavioural and abstractor specifications. Science of Computer Programming 25, 149–186 (1995)
Bidoit, M., Sannella, D., Tarlecki, A.: Architectural specifications in Casl. Formal Aspects of Computing 13, 252–273 (2002)
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)
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)
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)
The CoFI Task Group on Semantics. Semantics of the Common Algebraic Specification Language Casl (2003), Available from http://www.cofi.info/
Ehrig, H., Kreowski, H.-J.: Refinement and implementation. In: [AKBK 1999], pp. 201–242 (1999)
Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Algebraic implementation of abstract data types. Theoretical Computer Science 20, 209–263 (1982)
Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification I: Equations and Initial Semantics. Springer, Heidelberg (1985)
Ganzinger, H.: Parameterized specifications: parameter passing and implementation with respect to observability. ACM Transactions on Programming Languages and Systems 5, 318–354 (1983)
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)
Ginzburg, A.: Algebraic Theory of Automata. Academic Press, London (1968)
Goguen, J.: Parameterized programming. IEEE Trans. on Software Engineering SE-10(5), 528–543 (1984)
Goguen, J., Burstall, R.: Institutions: abstract model theory for specification and programming. Journal of the ACM 39, 95–146 (1992)
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)
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)
Hoare, C.A.R.: Proofs of correctness of data representations. Acta Informatica 1, 271–281 (1972)
Kahrs, S., Sannella, D., Tarlecki, A.: The definition of Extended ML: a gentle introduction. Theoretical Comp. Sci. 173, 445–484 (1997)
Milner, R.: An algebraic definition of simulation between programs. In: Proc. 2nd Intl. Joint Conf. on Artificial Intelligence, London, pp. 481–489 (1971)
Paulson, L.: ML for the Working Programmer, 2nd edn. Cambridge Univ. Press, Cambridge (1996)
Reichel, H.: Behavioural equivalence — a unifying concept for initial and final specification methods. In: Proc. 3rd Hungarian Comp. Sci. Conference, pp. 27–39 (1981)
Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and Computation 76, 165–210 (1988)
Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: implementations revisited. Acta Informatica 25, 233–281 (1988)
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)
Sannella, D., Tarlecki, A.: Essential concepts of algebraic specification and program development. Formal Aspects of Computing 9, 229–269 (1997)
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)
Schoett, O.: Behavioural correctness of data representations. Science of Computer Programming 14, 43–57 (1990)
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)
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)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press, Addison-Wesley, New-York, N.Y.(1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bidoit, M., Sannella, D., Tarlecki, A. (2004). Toward Component-Oriented Formal Software Development: An Algebraic Approach. In: Wirsing, M., Knapp, A., Balsamo, S. (eds) Radical Innovations of Software and Systems Engineering in the Future. RISSEF 2002. Lecture Notes in Computer Science, vol 2941. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24626-8_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-24626-8_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21179-2
Online ISBN: 978-3-540-24626-8
eBook Packages: Springer Book Archive