Modelling systems with variability using the PROTEUS configuration language
To respond to environmental changes and customer specific requirements, industrial software systems must often incorporate many sources of variability. Developers use a diverse range of representations and techniques to achieve this, including structural variability, component version selection, conditional inclusion, and varying derivation processes.
This paper advocates specifying all potential variability within a system using a single formalism. PCL, the configuration language defined in the PROTEUS project, provides uniform facilities for expressing and controlling variability in all aspects of a system and its manufacturing process. PCL is supported by a comprehensive tool set and is integrated with several design methods. The paper uses a simple example throughout to illustrate the facilities of PCL and how these are supported by the tool set.
KeywordsConfiguration language software evolution software configuration management
Unable to display preview. Download preview PDF.
- 1.E. Borison: A Model of Software Manufacture. In Reidar Conradi et.al., editors, Proceedings of the International Workshop on Advanced Programming Environments, Trondheim, Norway, June 16–18, 1986, LNCS no. 244, Springer-Verlag, Berlin, pp. 197–220.Google Scholar
- 2.L. W. Cooprider: The Representation of Families of Software Systems. PhD thesis, Camegie-Mellon University, Computer Science Department, April 1979.Google Scholar
- 3.F. DeRemer and H. H. Kron: Programming-in-the-large Versus Programming-in-the-small, IEEE Transactions on Software Engineering, SE-2(2), June 1976, pp. 80–86.Google Scholar
- 4.J. Estublier: A configuration manager: The Adele data base of programs. In Workshop on Software Engineering Environments for Programming-in-the-Large, Harwichport, Massachusetts, June 1985, pp. 140–147.Google Scholar
- 5.J. Estublier and R. Casallas: The Adele Configuration Manager. In W. F. Tichy, Configuration Management, John Wiley & Sons Ltd., Chichester, 1994, ISBN 0-471-94245-6, pp. 99–133.Google Scholar
- 6.S. I. Feldman: Make, a Program for Maintaining Computer Programs, Software — Practice and Experience, 9(4), April 1979, pp. 255–265.Google Scholar
- 7.B. Gulla and J. Gorman: Supporting evolution with a configuration language: industrial experience, 11 pages. Submitted for publication.Google Scholar
- 8.D. L. Leblang: The CM Challenge: Configuration Management that Works. In W. F. Tichy, Configuration Management, John Wiley & Sons Ltd., Chichester, 1994, ISBN 0-471-94245-6, pp. 1–37.Google Scholar
- 9.A. Lie, R. Conradi, T. M. Didriksen, E.-A. Karlsson, S. O. Hallsteinsen and P. Holager: Change Oriented Versioning in a Software Engineering Database. In W. F. Tichy, editor, Proceedings of the Second International Workshop on Software Configuration Management, pp. 56–65, Princeton, NJ, October 25–27, 1989. ACM SIGSOFT Software Engineering Notes 17(7), November 1989.Google Scholar
- 10.K. Marzullo and D. Wiebe: Jasmine: A Software System Modelling Facility. In P. B. Henderson, Proceedings of the 2nd ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Palo Alto, CA, December 9–11, 1986. ACM SIGPLAN Notices, 22(1), January 1987, pp. 121–130.Google Scholar
- 11.K. Narayanaswamy and W. Scacchi: Maintaining Configurations of Evolving Software Systems, IEEE Transactions on Software Engineering, SE-13(3), March 1987, pp. 324–334.Google Scholar
- 12.PROTEUS consortium: PCL-V2 Reference Manual, Technical Report P-DEL-3.4.D-1.9, September 1994, 85 pages.Google Scholar
- 13.I. Sommerville and G. Dean: PCL: A configuration language for modelling evolving system architectures, 21 pages. Submitted for publication.Google Scholar
- 14.R. Thomson and I. Sommerville: An Approach to the Support of Software Evolution, Computer Journal, 32(5), October 1989, pp. 386–396.Google Scholar
- 15.W. F. Tichy: Software Development Control Based on Module Interconnection. In Proceedings of the 4th International Conference on Software Engineering, IEEE, September 1979, pp. 29–41.Google Scholar
- 16.W. F. Tichy: RCS — A System for Version Control, Software — Practice and Experience, 15(7), July 1985, pp. 637–654.Google Scholar
- 17.D. Whitgift: Methods and Tools for Software Configuration Management, John Wiley & Sons Ltd., Chichester, 1991. ISBN 0-471-92940-9Google Scholar