Abstract
Industrial program products are often families of large and modular programs. Modern programming languages support the formulation of such program families only partially. At the time being it is usually not possible to describe different revisions, variants, and versions of single program building blocks and whole programs.
This paper presents a proposal for the formulation of such version information as part of the program text. In a newly introduced CONFIG part of a program building block the programmer can express: (1) to which versions the building block belongs, and (2) which versions of other building blocks it uses. In this new construct a version is defined as a pair (revision, variant), and a variant as a vector of attributes. With these language constructs the ”knowledge” about the program versions can be expressed by facts and rules. The representation of this knowledge is adapted to the structure of the program, and the generation of specific program versions can be done automatically.
Preview
Unable to display preview. Download preview PDF.
8 Literature
Apollo Computer Inc.: DOMAIN Software Engineering Environment (DSEE) Reference Manual. Order No.003016,Rev.03,July 85.
Backus, John: The History of Fortran I, II, and III. SIGPLAN Notices 13,8(1978) 165..180.
Belady, L.A.; Lehmann, M.M.: A model of large program development. IBM Syst. Journal 15,3(1976) 225..252.
CCITT: CCITT High Level Language (CHILL), Recommendation Z.200, Geneva 1985.
Codd, E.F.: A Relational Model of Data for Large Shared Data Banks. CACM 13,6(1970) 377..387.
DeRemer, F.L.; Kron, H.H.: Programming-in-the-large versus Programming-in-the-small. = [NS 76:80..89].
Erickson, V.B.; Pellegrin, J.F.: Build — A Software Construction Tool. AT & T Bell Laboratories Technical Journal 63, 6(1984) 1049..1059.
Estublier, J.: A Configuration Manager: The Adèle Database of Programs. Workshop on Software Engineering Environments for Programming-in-the-Large. Cape Cod, June 85, pp. 140..147.
Estublier, Jacky: ADELE — A Data Base of Programs. Presentation Manual. Laboratoire Genie Informatique, 38402 St.Martin d'Heres, Juin 1986.
Feldman, Stuart I.: Make — A Program for Maintaining Computer Programs. Software — Practice and Experience 9(1979) 255..265.
Guttag, John V.; Horning, James J.; Wing, Jeanette M.: The Larch Family of Specification Languages. IEEE Software 2,5(1985)24..36.
Habermann, A. N.: Automatic Deletion of Obsolete Information. The Journal of Systems and Software 5,2(1985)145..154.
Luckham, David C.; Henke, Friedrich W. von; Krieg-Brueckner, Bernd; Owe, Olaf: ANNA-A Language for Annotating Ada Programs. Stanford Univ. Comp. Syst. Lab. Tech. Rep 84–261.
Habermann, A. Nico; Perry, Dewayne E.: System Composition and Version Control for Ada. Carnegie-Mellon Univ., Dept. of Computer Science, May 1980.
Habermann, A. Nico; Perry, Dewayne E.: Well-Formed System Compositions. Dept. of Computer Science, Carnegie-Mellon Univ., CMU-CS-80-117, Pittsburgh, March 1980.
Swinehart, Daniel C.; Zellweger, Polle T.; Hagmann, Robert B.: The Structure of Cedar. SIGPLAN Notices 20,7(1985) 230..244.
Lockemann, Peter C.: Analysis of Version and Configuration Control in a Software Engineering Environment. = Davis, C.G.; Jajodia, S.; Ng, P.A.; Yeh, R.T. (eds): Entity-Relationship Approach to Software-Engineering, North Holland, Amsterdam 1983.
Lampson, Butler W.; Schmidt, Eric E.: Organizing Software in a Distributed Environment. SIGPLAN Notices 18,6(1983) 1..13.
Mitchell, James G.; Maybury, William; Sweet, Richard: Mesa Language Manual. Xerox, Palo Alto Research Center, Palo Alto 1979. Version 5.0, CSL-79-3.
Mehner, T.; Tobiasch, R.; Winkler, J.F.H.: A Proposal for an Integrated Programming Environment for CHILL. Third CHILL Conference, Cambridge, September 23–28, 1984, pp.65..71.
Notkin, David: The GANDALF Project. The Journal of Systems and Software 5,2(1985) 91..105.
Schneider, H.-J.; Nagl, M. (eds.): Programmiersprachen — 4.Fachtagung der GI, Springer Berlin usw. 1976.
Perlis, A.J.; Samelson, K. (eds): Report on the Algorithmic Language ALGOL. Num. Math. 1 (1959) 41..60.
Reference Manual for the Ada Programming Language ANSI/MIL-STD 1815A. United States Dept. of Defense, Washington, January 1983.
Rochkind, Mark J.: The source code control system. IEEE Trans. on Softw. Eng. 1,4(1975) 364..370.
Siemens AG: EWSD Digital Switching System. telcom report Vol. 4(1981) Special Issue.
Winkler, J.F.H.; Stoffel, C.: Methode zur Erzeugung angepaßter und übertragbarer Betriebssysteme. = Schneider, H.J. (Hrsg.): Portable Software, B.G. Teubner Stuttgart, 1980, pp. 34..47.
Tichy, Walter F.: RCS — A System for Version Control. Software — Pract. & Exp. 15,7(1985) 637..654.
Walden, Kim: Automatic Generation of Make Dependencies. Software — Pract. & Exp. 14,6(1984) 575..585.
Wijngaarden, A. van: Report on the Algorithmic Language ALGOL 68. Num. Mathematik 14(1969) 79..218.
Winkler, J.F.H.: Ada: die neuen Konzepte. Elektron. Rechenanlagen 24,4(1982) 175..186.
Winkler, J.F.H.: Language Constructs and Library Support for Families of Large Ada Programs. Workshop on Software Engineering Environments for Programming-in-the-Large. Cape Cod, June 85, 17..28.
Winkler, J.F.H.: Die Programmiersprache CHILL. Automatisierungstechnische Praxis 28,5(1986)252..258, 28,6(1986)290..294.
Wirth, Niklaus: The Programming Language PASCAL. acta informatica 1(1971) 35..63.
Wirth, Niklaus: MODULA-2. Eidgenössische Technische Hochschule Zürich, Institut für Informatik Bericht 36, March 1980.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Winkler, J. (1987). The integration of version control into programming languages. In: Conradi, R., Didriksen, T.M., Wanvik, D.H. (eds) Advanced Programming Environments. Lecture Notes in Computer Science, vol 244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17189-4_101
Download citation
DOI: https://doi.org/10.1007/3-540-17189-4_101
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-17189-8
Online ISBN: 978-3-540-47347-3
eBook Packages: Springer Book Archive