Skip to main content

A behavioural algebraic framework for modular system design with reuse

  • Contributed Papers
  • Conference paper
  • First Online:
Book cover Recent Trends in Data Type Specification (ADT 1992, COMPASS 1992)

Abstract

A formal framework for the design of modular software systems is presented which incorporates the idea of reusing software components in new applications. The approach is based on structured algebraic specifications with behavioural semantics. In order to provide a clean interconnection mechanism for specifications, behavioural specifications with import interfaces are considered and their composition with respect to the behavioural requirements of the import interface is defined. A simple implementation notion for behavioural specifications with import interface is presented which is compatible with the composition of specifications. Hence it is guaranteed that separately developed implementations of parts of an abstract system specification can be automatically composed to a globally correct system implementation. Based on these concepts, reusable components are defined as (unordered) trees of behavioural specifications with import interfaces such that two consecutive nodes are related by the implementation relation. A formal method for the systematic reuse of components in new applications is proposed. The method consists of four steps which describe how to construct for a given abstract system specification a modular implementation by reusing existing implementations available as leaves of appropriate reusable components. The method is demonstrated by a detailed example.

This research has been partially sponsored by the German BMFT-project KORSO

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Bernot, M. Bidoit: Proving the correctness of algebraically specified software: modularity and observability issues. Proc. AMAST '91, 2nd International Conference on Algebraic Methodology of Software Technology, Technical Report of the University of Iowa, 1991.

    Google Scholar 

  2. J. Cramer, W. Fey, M. Goedicke, M. Große-Rhode: Towards a formally based component description language — a foundation for reuse. Structured Programming, Vol. 2, No. 12, Springer Verlag, 1991.

    Google Scholar 

  3. H. Ehrig, B. Mahr: Fundamentals of algebraic specification 1. EATCS Monographs on Theor. Comp. Science, Vol. 6, Springer Verlag, 1985.

    Google Scholar 

  4. H. Ehrig, B. Mahr: Fundamentals of algebraic specification 2. EATCS Monographs on Theor. Comp. Science, Vol. 21, Springer Verlag, 1990.

    Google Scholar 

  5. M. C. Gaudel, Th. Moineau: A theory of software reusability. In: H. Ganzinger (ed.): Proc. ESOP '88. Lecture Notes in Computer Science 300, 115–130, 1988.

    Google Scholar 

  6. R. Hennicker, F. Nickl: A behavioural algebraic framework for modular system design with reuse. Technical report 9206, Institut für Informatik, Ludwig-Maximilians-Universität München.

    Google Scholar 

  7. R. Milner, M. Tofte, R. Harper. The definition of Standard ML. MIT Press, 1990.

    Google Scholar 

  8. F. Orejas, M. P. Nivela: Constraints for behavioural specifications. In: H. Ehrig, K. P. Jantke, F. Orejas, H. Reichel (eds): Recent Trends in Data Type Specification, Proc. 7th Workshop on Specification of Abstract Data Types, Wusterhausen/Dosse, April 1990. Lecture Notes in Computer Science 534, 220–245, 1990.

    Google Scholar 

  9. H. Reichel: Initial restrictions of behaviour. IFIP Working Conference, The Role of Abstract Models in Information Processing, 1985.

    Google Scholar 

  10. D.T. Sannella, S. Sokolowski, A.Tarlecki: Toward formal development of programs from algebraic specifications: parameterization revisited. Forschungsberichte des Studienganges 6/90, Univ. Bremen, 1990.

    Google Scholar 

  11. M. Wirsing: Structured algebraic specifications: a kernel language. Theor.Comp.Science 42, 123–249, 1986.

    Google Scholar 

  12. M. Wirsing: Algebraic description of reusable software components. In: E. Milgrom, P. Wodon (eds.): Proc. COMPEURO '88. IEEE Computer Society, 834, Computer Society Press, 300–312, 1988.

    Google Scholar 

  13. M. Wirsing, R. Hennicker, R. Stabl: MENU — an example for the systematic reuse of specifications. In: C. Ghezzi, J. A. McDermid (eds.): Proc. ESEC '89, 2nd European Software Engineering Conference, Warwick, September 1989. Springer 387, 20–41, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hartmut Ehrig Fernando Orejas

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hennicker, R., Nickl, F. (1994). A behavioural algebraic framework for modular system design with reuse. In: Ehrig, H., Orejas, F. (eds) Recent Trends in Data Type Specification. ADT COMPASS 1992 1992. Lecture Notes in Computer Science, vol 785. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57867-6_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-57867-6_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57867-3

  • Online ISBN: 978-3-540-48361-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics