This Article 
 Bibliographic References 
 Add to: 
Generic Lifecycle Support in the ALMA Environment
June 1988 (vol. 14 no. 6)
pp. 720-741

ALMA is an environment kernel supporting the elaboration, analysis, documentation, and maintenance of the various products developed during an entire software lifecycle. Its central component is an environment database in which properties about software objects and relations are collected. Two kinds of tools are provided: high-level tools and syntax-directed tools. A basic feature of the ALMA kernel is its genericity. Tools of the first kind are parameterized on software lifecycle models while tools of the second kind are parameterized on formalisms. Versions of specific models and formalisms are generated by a meta-environment, which also generates the environment databasestructure tailored to the desired lifecycle model. The database support meta system and the instatiated database support systems it generates are emphasized, including the architectural design decisions made and the mechanisms introduced for achieving parameterization on lifecycle models.

[1] R. G. Babb, II, and D. C. DiNucci, "Design and implementation of parallel programs with large-gain data flow," inCharacteristics of Parallel Algorithms. Cambridge, MA: MIT Press, to be published.
[2] P. A. Bernstein, "Database system support for software engineering,"Proc. 9th Int. Conf. Software Engineering, Monterey, CA, Mar. 1987, pp. 166-178.
[3] A. Borgida, J. Mylopoulos, and H. K. Wong, "Generalization/specialization as a basis for software specification," inOn Conceptual Modelling, M. Brodie, J. Mylopoulos, and J. Schmidt, Eds. Berlin: Springer-Verlag, 1982, pp. 87-114.
[4] J. Buxton, "Requirements for ADA programming support environments: Stoneman," U.S. Dep. of Defense, OSD/R&D, Washington, DC, Feb. 1980.
[5] R. H. Campbell and P. A. Kirslis, "The SAGA project: A system for software development," inProc. Symp. Practical Software Development Environments, Pittsburgh, PA. 1985, pp. 73-80.
[6] P. P. Chen, "The Entity-Relationship Model -- Towards a Unified View of Data,"ACM Trans. Database Syst., Vol. 1, No. 1, Mar. 1976, pp. 9-36.
[7] J. Coutaz, "Abstractions for user interface design,"Computer, vol. 18, pp. 21-34, Sept. 1985.
[8] J. M. Dedourek, P. G. Sorenson, and J. P. Tremblay, "Survey of meta systems for information processing system specification environments," Univ. Saskatchewan, Rep. 85-6, 1985.
[9] J. Demetrovics, E. Knuth, and P. Rado, "Specification meta systems,"Computer, vol. 15, no. 4, pp. 20-35, May 1982.
[10] V. Donzeau-Gouge, G. Huet, G. Kahn, B. Lang, and J. J. Lévy, "A structure oriented program editor: A first step toward computer assisted programming," inProc. Int. Computing Symp.Amsterdam, The Netherlands: North-Holland, 1975.
[11] V. Donzeau-Gouge, G. Huet, G. Kahn, and B. Lang, "Programming environments based on structured editors: The Mentor Experience," INRIA, Res, Rep. 26, July 1980.
[12] Donzeau-Gouge, V., B. Lang, and B. Melese, "Practical Appilcations of a Syntax-Directed Program Manipulation Environment,"Proc 7th Int'l Conf. Software Engineering, Orlando Fla., Mar. 1984, IEEE No. 84CH2011-5, pp. 346-354.
[13] F. Gallo, R. Minot, and I. Thomas, "The object management system of PCTE as a software engineering database management system,"Sigplan Notices (Proc. 2nd ACM Sigsoft/Sigplan Symp. Practical Software Development Environments, Palo Alto, CA), vol. 22, no. 1, pp. 12-15, Jan. 1987.
[14] A.N. Habermann and D. Notkin, "Gandalf: Software development environments,"IEEE Trans. Software Eng., vol. SE-12, pp. 1117-1127, Dec. 1986.
[15] E. Horowitz and R. C. Williamson, "SODOS: A software documentation support environment--lts use," inProc. 8th Int. Conf. Software Engineering, London, 1985, pp. 8-14.
[16] E. Horowitz and R. Williamson, "Sodos: A Software-Documentation Support Environment: Its Definition,"IEEE Trans. Software Eng., Aug. 1986, pp. 849-859.
[17] W. Howden, Ed., "Contemporary Software development environments" (NBS Workshop Report on Programming Environments),ACM Software Eng. Notes, vol. 6, no. 4, Aug. 1981.
[18] G. Kahn, B. Lang, and B. Mélèse, "METAL:A formalism to specify formalisms,"Sci. Comput. Program., vol. 3, no. 2, pp. 151-188, Aug. 1983.
[19] G. Kampen, "SWIFT: A requirement specification system for software," inCurrent Issues of Requirements Engineering Environments, Y. Ohno, Ed., Amsterdam, The Netherlands: North-Holland, 1982, pp. 77-84.
[20] P. Medina-Mora and P. Feiler, "An incremental programming environment,"IEEE Trans. Software Eng., vol. SE-7, no. 5, pp. 472- 482, Sept. 1981.
[21] B. Meyer, "The software knowledge base," inProc. 8th Int. Conf. Software Eng., London, 1985, pp. 158-165.
[22] L. Osterweil, "Software environment research: Directions for the next five years,"Computer, vol. 14, no. 4, pp. 35-43, Apr. 1981.
[23] D. L. Parnas, "Use of abstract interfaces in the development of software for embedded computer systems," NRL, Rep. 8047, June 1977; also reprinted inInfotech State of the Art Report--Structured System Development, 1979, pp. 197-225.
[24] D. L. Parnas, "Designing software for ease of extension and contraction,"IEEE Trans. Software Eng., vol. SE-5, no. 2, pp. 138-152, Mar. 1979.
[25] M.H. Penedo and E.D. Stukle, "PMDB: A Project Master Database for Software-Engineering Environments,"Proc. Int'l Conf. Software Engineering, CS Press, Los Alamitos, Calif., 1985, pp. 150-157.
[26] M. H. Penedo, "Prototyping a project master database for software engineering environments," inSIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Palo Alto, CA, Dec. 1986, pp. 1-11; see alsoSIGPLAN Notices, vol. 22, Jan. 1987.
[27] T. Reps and T. Teitelbaum, "The synthesizer generator," inProc. ACM SIGSOFT/SIGPLAN Software Eng. Symp., 1984, pp. 41-48.
[28] R. A. Snowdon, "An experience-based assessement of development systems," inSoftware Development Tools, W. E. Riddle and R. E. Fairley, Eds. Berlin: Springer-Verlag, 1980, pp. 64-75.
[29] V. Stenning, "On the Role of an Environment,"Proc. Int'l Conf. Software Eng., IEEE CS Press, Los Alamitos, Calif., 1987, pp. 30-34.
[30] D. Teichroew and E. A. Hershey, "'PSL/PSA: A computer-aided technique for structured documentation and analysis of information processing systems,"IEEE Trans. Software Eng., vol. SE-3, no. 1, pp. 41-48, Jan. 1977.
[31] D. Teichroew, P. Macasovic, E. A. Hershey, and Y. Yamamoto, "Application of the entity-relationship approach to information processing systems modeling," inEntity-Relationship Approach to Systems Analysis and Design, P. P. Chen, Ed. Amsterdam, The Netherlands: North-Holland, 1980.
[32] W. F. Tichy, "Design, implementation, and evaluation of a revision control system," inProc. 6th IEEE Int. Conf. Software Engineering, Sept. 1982, pp. 58-67.
[33] A. van Lamsweerde, "Les outils d'aide au développement de logiciels: Un aperçu des tendances actuelles," inProc. JIIA 82, Paris, June 1982.
[34] A. van Lamsweerde, M. Buyse, B. Delcourt, E. Delor, M. Ervier, M. C. Schayes, J. P. Bouquelle, R. Champagne, P. Nisole, and J. Seldeslachts, "The kernel of a generic software development environment,"ACM Sigplan Notices (Proc. 2nd ACM Sigsoft/Sigplan Symp. Practical Software Development Environments, Palo Alto, CA), vol. 22, no. 1, pp. 208-217, Jan. 1987.
[35] D. S. Wile and D. G. Allard, "Worlds: an Organizing structure for object-bases," inProc. ACM SIGSOFT/SIGPLAN Symp. Practical Software Development Environments, Palo Alto, CA, Dec. 1986, pp. 130-142; see alsoSIGPLAN Notices, vol. 22, no. 1, Jan. 1987.
[36] Y. Yamamoto,An Approach to the Generation of Software Life-Cycle Support Systems, doctoral dissertation, Industrial Engineering Dept., Univ. of Michigan, Ann Arbor, Mich., 1981.

Index Terms:
programming environments; system documentation; ALMA; environment kernel; software lifecycle; environment database; software objects; high-level tools; syntax-directed tools; database management systems; programming environments; software tools; system documentation; systems analysis
A. van Lamsweerde, B. Delcourt, E. Delor, M.C. Schayes, R. Champagne, "Generic Lifecycle Support in the ALMA Environment," IEEE Transactions on Software Engineering, vol. 14, no. 6, pp. 720-741, June 1988, doi:10.1109/32.6153
Usage of this product signifies your acceptance of the Terms of Use.