APPL/A
- 1 July 1995
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 4 (3), 221-286
- https://doi.org/10.1145/214013.214017
Abstract
Software process programming is the coding of software processes in executable programming languages. Process programming offers many potential benefits, but their realization has been hampered by a lack of experience in the design and use of process programming languages. APPL/A is a prototype software process programming language developed to help gain this experience. It is intended for the coding of programs to represent and support software processes including process, product, and project management. APPL/A is defined as an extension to Ada, to which it adds persistent programmable relations, concurrent triggers on relation operations (for reactive control), optionally and dynamically enforceable predicates on relations (which may serve as constraints), and composite statements that provide alternative combinations of serializability, atomicity, and consistency enforcement (for programming high-level transactions). APPL/A has been used to code engineering-oriented applications, like requirements specification and design, as well as management-related activities, such as personnel assignment, task scheduling, and project monitoring. APPL/A has also enabled us to experiment with process program design techniques and architectures, including process state reification, intermittent (or persistent) processes, reflexive and metaprocesses, and multiple-process systems. Our ability to address a wide range of software processes and process characteristics indicates that the APPL/A constructs represent important and general capabilities for software process programming.— Authors' AbstractKeywords
This publication has 19 references indexed in Scilit:
- Supporting cooperation in the Marvel process-centered SDEACM SIGSOFT Software Engineering Notes, 1992
- Initial software process management in EPOSSoftware Engineering Journal, 1991
- Managing software processes in the environment MELMACPublished by Association for Computing Machinery (ACM) ,1990
- Software process enactment in OikosPublished by Association for Computing Machinery (ACM) ,1990
- STATEMATE: a working environment for the development of complex reactive systemsIEEE Transactions on Software Engineering, 1990
- A mechanism for environment integrationACM Transactions on Programming Languages and Systems, 1990
- Compiling complex database transition triggersPublished by Association for Computing Machinery (ACM) ,1989
- Statecharts: a visual formalism for complex systemsScience of Computer Programming, 1987
- Make — a program for maintaining computer programsSoftware: Practice and Experience, 1979
- A relational model of data for large shared data banksCommunications of the ACM, 1970