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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
5. References
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
Blum, E.K., Ehrig, H., Parisi-Presicce, F.: “Algebraic Specification of Modules and Their Basic Interconnections”, JCSS Vol. 34, 1987, pp. 293–339
Bergstra, J.A., Heering, J., Klint, P.: “Module Algebra”, Centre for Mathematics and Computer Science, Amsterdam, Report CS-R 8617, 1986
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
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
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
Ehrig, H., Mahr, B.: ”Fundamentals of Algebraic Specification 1”, Springer Verlag, Berlin, 1985
Ehrig, H., Weber, H.: ”Programming in the Large with Algebraic Module Specifications”, Proc. IFIP Congress '86, Dublin, September 1986, pp. 675–684
Goguen, J.A., Messeguer: ”Universal Realization, persistent Interconnection and Implementation of Abstract Modules”, Proc. 9th ICALP, LNCS 140, 1982, pp. 265–281, Springer Verlag
Hull, R., Jacobs, D.: ”Towards a Formalism for Module Interconnection and System Evolution”, Proceedings of’ First Workshop on Database Programming Languages', Roscoff, 1987
Liskov, B., Zilles, S.: ”Programming with Abstract Data Types”, SIGPLAN Notices 9, 1974, pp. 55–59
Narayanaswamy, K., Scacchi, W.: ”Maintaining Configurations of Evolving Software Systems”, IEEE Transactions on Software Engineering, Vol. SE-13, March 1987, pp. 324–334
Parnas, D. L.: ”A Technique for Software Module Specification with Examples”, Communications of the ACM, Vol. 15, No. 5, 1972, pp. 330–336
Parnas, D. L.: ”On the Design and Development of Program Families”, IEEE Transactions on Software Engineering, Vol. SE-2, 1976, pp. 1–9
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
Reichel, H.: ”Behavioural Program Specification”, Proc. Category Theory and Computer Programming, Guildford, September 1985, LNCS 240, pp. 390–411, Springer Verlag
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
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
Weber, H., Ehrig, H.: ”Specification of Modular Systems”, IEEE Transaction on Software Engineering, Vol. SE-12, 1986, pp. 786–798
Author information
Authors and Affiliations
Editor information
Rights 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