Skip to main content

Toward Component-Oriented Formal Software Development: An Algebraic Approach

  • Conference paper
Radical Innovations of Software and Systems Engineering in the Future (RISSEF 2002)

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Ada Reference Manual: Language and Standard Libraries, version 6.0. International standard ISO/IEC 8652:1995(E) (1994), http://www.adahome.com/rm95/

  2. 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)

    Chapter  Google Scholar 

  3. 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)

    Article  MATH  MathSciNet  Google Scholar 

  4. Astesiano, E., Krieg-Brückner, B., Kreowski, H.-J. (eds.): Algebraic Foundations of Systems Specification. Springer, Heidelberg (1999)

    Google Scholar 

  5. Bauer, F., Wössner, H.: Algorithmic Language and Program Development. Springer, Heidelberg (1982)

    MATH  Google Scholar 

  6. 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 

  7. Bidoit, M., Hennicker, R.: Modular correctness proofs of behavioural implementations. Acta Informatica 35(11), 951–1005 (1998)

    Article  MathSciNet  Google Scholar 

  8. Bidoit, M., Hennicker, R., Wirsing, M.: Behavioural and abstractor specifications. Science of Computer Programming 25, 149–186 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  9. Bidoit, M., Sannella, D., Tarlecki, A.: Architectural specifications in Casl. Formal Aspects of Computing 13, 252–273 (2002)

    Article  MATH  Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. 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 

  12. 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 

  13. The CoFI Task Group on Semantics. Semantics of the Common Algebraic Specification Language Casl (2003), Available from http://www.cofi.info/

  14. Ehrig, H., Kreowski, H.-J.: Refinement and implementation. In: [AKBK 1999], pp. 201–242 (1999)

    Google Scholar 

  15. Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Algebraic implementation of abstract data types. Theoretical Computer Science 20, 209–263 (1982)

    Article  MATH  Google Scholar 

  16. Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification I: Equations and Initial Semantics. Springer, Heidelberg (1985)

    MATH  Google Scholar 

  17. Ganzinger, H.: Parameterized specifications: parameter passing and implementation with respect to observability. ACM Transactions on Programming Languages and Systems 5, 318–354 (1983)

    Article  MATH  Google Scholar 

  18. 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 

  19. Ginzburg, A.: Algebraic Theory of Automata. Academic Press, London (1968)

    MATH  Google Scholar 

  20. Goguen, J.: Parameterized programming. IEEE Trans. on Software Engineering SE-10(5), 528–543 (1984)

    Article  Google Scholar 

  21. Goguen, J., Burstall, R.: Institutions: abstract model theory for specification and programming. Journal of the ACM 39, 95–146 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  22. 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)

    Chapter  Google Scholar 

  23. 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 

  24. Hoare, C.A.R.: Proofs of correctness of data representations. Acta Informatica 1, 271–281 (1972)

    Article  MATH  Google Scholar 

  25. Kahrs, S., Sannella, D., Tarlecki, A.: The definition of Extended ML: a gentle introduction. Theoretical Comp. Sci. 173, 445–484 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  26. 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 

  27. Paulson, L.: ML for the Working Programmer, 2nd edn. Cambridge Univ. Press, Cambridge (1996)

    MATH  Google Scholar 

  28. 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 

  29. Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and Computation 76, 165–210 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  30. Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: implementations revisited. Acta Informatica 25, 233–281 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  31. 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 

  32. Sannella, D., Tarlecki, A.: Essential concepts of algebraic specification and program development. Formal Aspects of Computing 9, 229–269 (1997)

    Article  MATH  Google Scholar 

  33. 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 

  34. Schoett, O.: Behavioural correctness of data representations. Science of Computer Programming 14, 43–57 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  35. 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)

    Chapter  Google Scholar 

  36. 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)

    Chapter  Google Scholar 

  37. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press, Addison-Wesley, New-York, N.Y.(1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics