Skip to main content

Algebraic software development concepts for module and configuration families

  • Software Technology
  • Conference paper
  • First Online:
  • 128 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 405))

Abstract

Configuration families are the means of keeping track of structural and historical relationships between the components of a system as they evolve over time. Thus they form a kernel of a configuration management system. In this paper, we study configuration families within a formal semantic framework for modules and their interconnection operations. Our goal is to formulate and prove formally fundamental ideas in this area to serve as a guide to the design of methodologies and tools for software engineering.

The module concept we use is based on abstract data types and algebraic specifications and includes a set of fundamental operations on interface and module specifications for horizontal structuring, vertical development steps, which refine abstract specifications into more concrete ones, and realization of interface specifications by module specifications. In the paper we study the construction and evolution of module families, i.e., collections of conceptually related modules, usually revisions and variants, which have developed over time. We show how horizontal structuring operations can be applied to entire module families to produce configuration families, and explain how vertical refinement steps of underlying modules induce refinements of configurations. The construction of modules, module families, and configuration families is illustrated by a simple desk calculator.

This work was carried out as part of a research exchange program between TUB and USC.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

5. References

  1. Goguen, J.A., Thatcher, J.W., Wagner, E.G.: ”An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types”, IBM Research Report RC 6487, 1976. Also: Current Trends in Programming Methodology IV: Data Structuring (R. Yeh, ed.), Prentice Hall, 1978, pp. 80–144

    Google Scholar 

  2. Blum, E.K., Ehrig, H., Parisi-Presicce, F.: “Algebraic Specification of Modules and Their Basic Interconnections”, JCSS Vol. 34, 1987, pp. 293–339

    Google Scholar 

  3. Bergstra, J.A., Heering, J., Klint, P.: “Module Algebra”, Centre for Mathematics and Computer Science, Amsterdam, Report CS-R 8617, 1986

    Google Scholar 

  4. Ehrig, H., Fey, W., Hansen, H., Jacobs, D., Löwe, M.: Algebraic Concepts for the Evolution of Module Families, in Proc. AMAST (International Conference on Algebraic Methodology and Software Technology), Iowa City (USA), May 22–24, 1989, pp. 85–88

    Google Scholar 

  5. Ehrig, H., Fey, W., Hansen, H., Jacobs, D., Langen, A., Löwe, M., Parisi-Presicce, F.: ”Algebraic Specification of Modules and Configuration Families”, Research Report No. 88-17, Department of Computer Science, TU Berlin, 1988

    Google Scholar 

  6. Ehrig, H., Fey, W., Hansen, H., Löwe, M., Parisi-Presicce, F.: ”Categories for the Development of Algebraic Module Specifications”, in Ehrig, H., Herrlich, M., Kreowski, H.-J., Preuß, G. (eds.): ”Categorical Methods in Computer Science with Aspects from Topology”, LNCS 393, 1989, Springer Verlag

    Google Scholar 

  7. Ehrig, H., Mahr, B.: ”Fundamentals of Algebraic Specification 1”, Springer Verlag, Berlin, 1985

    Google Scholar 

  8. Ehrig, H., Weber, H.: ”Programming in the Large with Algebraic Module Specifications”, Proc. IFIP Congress '86, Dublin, September 1986, pp. 675–684

    Google Scholar 

  9. Goguen, J.A., Messeguer: ”Universal Realization, persistent Interconnection and Implementation of Abstract Modules”, Proc. 9th ICALP, LNCS 140, 1982, pp. 265–281, Springer Verlag

    Google Scholar 

  10. Hull, R., Jacobs, D.: ”Towards a Formalism for Module Interconnection and System Evolution”, Proceedings of’ First Workshop on Database Programming Languages', Roscoff, 1987

    Google Scholar 

  11. Liskov, B., Zilles, S.: ”Programming with Abstract Data Types”, SIGPLAN Notices 9, 1974, pp. 55–59

    Google Scholar 

  12. Narayanaswamy, K., Scacchi, W.: ”Maintaining Configurations of Evolving Software Systems”, IEEE Transactions on Software Engineering, Vol. SE-13, March 1987, pp. 324–334

    Google Scholar 

  13. Parnas, D. L.: ”A Technique for Software Module Specification with Examples”, Communications of the ACM, Vol. 15, No. 5, 1972, pp. 330–336

    Article  Google Scholar 

  14. Parnas, D. L.: ”On the Design and Development of Program Families”, IEEE Transactions on Software Engineering, Vol. SE-2, 1976, pp. 1–9

    Google Scholar 

  15. Prieto-Diaz, R., Neighbors, J.: ”Module Interconnection Languages: A Survey”, ICS Technical Report 189, University of California, Irvine, 1982; also in: The Journal of Systems and Software, Vol. 6, 1986, pp. 307–334

    Google Scholar 

  16. Reichel, H.: ”Behavioural Program Specification”, Proc. Category Theory and Computer Programming, Guildford, September 1985, LNCS 240, pp. 390–411, Springer Verlag

    Google Scholar 

  17. Sannella, D., Tarlecki, A.: ”Extended ML: an institution-independent framework for formal program development” Proc. Category Theory and Computer Programming, Guildford, September 1985, LNCS 240, pp. 364–389, Springer Verlag

    Google Scholar 

  18. Thatcher, J.W., Wagner, E.G., Wright, J.B.: ”Data Type Specification: Parameterization and the Power of Specification Techniques”, 10th Symp. Theory of Computing, 1978, pp. 119–132 Trans. Prog. Languages and Systems 4, 1982, pp. 711–732

    Google Scholar 

  19. Weber, H., Ehrig, H.: ”Specification of Modular Systems”, IEEE Transaction on Software Engineering, Vol. SE-12, 1986, pp. 786–798

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

C. E. Veni Madhavan

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ehrig, H., Fey, W., Hansen, H., Löwe, M., Jacobs, D. (1989). Algebraic software development concepts for module and configuration families. In: Veni Madhavan, C.E. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1989. Lecture Notes in Computer Science, vol 405. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52048-1_43

Download citation

  • DOI: https://doi.org/10.1007/3-540-52048-1_43

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52048-1

  • Online ISBN: 978-3-540-46872-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics