APPL/A: a language for software process programming

Software process programming is the coding of software processes inexecutable programming languages. Process programming offers manypotential benefits, but their realization has been hampered by a lack ofexperience in the design and use of process programming languages.APPL/A is a prototype software process programming language developed tohelp gain this experience. It is intended for the coding of programs torepresent and support software processes including process, product, andproject management. APPL/A is defined as an extension to Ada, to whichit adds persistent programmable relations, concurrent triggers onrelation operations (for reactive control), optionally and dynamicallyenforceable predicates on relations (which may serve as constraints),and composite statements that provide alternative combinations ofserializability, atomicity, and consistency enforcement (for programminghigh-level transactions). APPL/A has been used to codeengineering-oriented applications, like requirements specification anddesign, as well as management-related activities, such as personnelassignment, task scheduling, and project monitoring. APPL/A has alsoenabled us to experiment with process program design techniques andarchitectures, including process state reification, intermittent (orpersistent) processes, reflexive and metaprocesses, and multiple-processsystems. Our ability to address a wide range of software processes andprocess characteristics indicates that the APPL/A constructs representimportant and general capabilities for software processprogramming. —Authors' Abstract

[1]  Walt Scacchi,et al.  The SMART approach for software process engineering , 1994, Proceedings of 16th International Conference on Software Engineering.

[2]  Gail E. Kaiser,et al.  A bi-level language for software process modeling , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[3]  Martin Verlage,et al.  How to assess a software process modeling formalism from a project member's point of view , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[4]  Jacky Estublier,et al.  A Support to Large Software Development Process , 1991, Proceedings. First International Conference on the Software Process,.

[5]  Stanley M. Sutton,et al.  Opportunities, limitations, and tradeoffs in process programming , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[6]  R. Kadia Issues encountered in building a flexible software development environment: lessons from the Arcadia project , 1992 .

[7]  Leon J. Osterweil,et al.  ISPW-6 Software Process Example , 1991, Proceedings. First International Conference on the Software Process,.

[8]  Hector Garcia-Molina,et al.  Modeling long-running activities as nested sagas , 1991 .

[9]  Jr. Stanley M. Sutton APPL/A: a prototype language for software-process programming , 1989 .

[10]  Jacky Estublier,et al.  Software process model and work space control in the Adele system , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[11]  Robert Balzer,et al.  Tolerating Inconsistency , 1991, [1989] Proceedings of the 5th International Software Process Workshop.

[12]  Dennis Heimbigner,et al.  Managing Change in Software Development Through Process Programming , 1991 .

[13]  M. L. Kellner,et al.  Software Process Modeling Support for Management Planning and Control , 1991, Proceedings. First International Conference on the Software Process,.

[14]  Reidar Conradi,et al.  Concepts for evolving software processes , 1994 .

[15]  Leon J. Osterweil,et al.  A mechanism for environment integration , 1990, TOPL.

[16]  Sergio Bandinelli,et al.  Computational reflection in software process modeling: The SLANG approach , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[17]  Takuya Katayama,et al.  A hierarchical and functional software process description and its enaction , 1989, ICSE '89.

[18]  Reidar Conradi,et al.  EPOS: object-oriented cooperative process modelling , 1994 .

[19]  R. Kadia,et al.  Issues Encountered in Building a Flexible Lessons from the Arcadia Project , 1992 .

[20]  Donald Cohen Compiling complex database transition triggers , 1989, SIGMOD '89.

[21]  Victor R. Lesser,et al.  A plan-based intelligent assistant that supports the software development , 1989, SDE 3.

[22]  Sergio Bandinelli,et al.  Process modeling in-the-large with SLANG , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[23]  Noureddine Belkhatir,et al.  Adele 2: a support to large software development process , 1991 .

[24]  Dennis Heimbigner,et al.  Programming a Software Requirements-Specification Process , 1991, Proceedings. First International Conference on the Software Process,.

[25]  Marc I. Kellner Multiple - Paradigm Approaches For Software Process Modeling , 1991, Proceedings of the 7th International Software Process Workshop, Communication and Coordination in the Software Process'.

[26]  Lori A. Clarke,et al.  PLEIADES: an object management system for software engineering environments , 1993, SIGSOFT '93.

[27]  T. Kaneko,et al.  A Method for Software Process Modeling and Description Using Lotos , 1991, Proceedings. First International Conference on the Software Process,.

[28]  Naser S. Barghouti Supporting cooperation in the Marvel process-centered SDE , 1992 .

[29]  Gail E. Kaiser,et al.  Experience with Process Modeling in the Marvel Software Development Environment Kernel , 1989 .

[30]  Reidar Conradi,et al.  Initial software process management in EPOS , 1991, Softw. Eng. J..

[31]  Katsuro Inoue,et al.  Hakoniwa: Monitor and navigation system for cooperative development based on activity sequence model , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[32]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[33]  Dewayne E. Perry Policy-directed Coordination And Cooperation , 1991, Proceedings of the 7th International Software Process Workshop, Communication and Coordination in the Software Process'.

[34]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[35]  M. Suzuki,et al.  Meta-Operations in the Process Model Hfsp for the Dynamics and Flexibility of Software Processes , 1991, Proceedings. First International Conference on the Software Process,.

[36]  Volker Gruhn Managing software processes in the environment MELMAC , 1990 .

[37]  David Notkin,et al.  Reconciling environment integration and component independence , 1990 .

[38]  Leon J. Osterweil,et al.  Integrating testing techniques through process programming , 1989 .

[39]  Stuart I. Feldman,et al.  Make — a program for maintaining computer programs , 1979, Softw. Pract. Exp..

[40]  Vincenzo Ambriola,et al.  OIKOS: constructing process-centred SDEs , 1994 .

[41]  Stanley M. Sutton,et al.  A Flexible Consistency Model for Persistent Data in Software-Process Programming Languages , 1990, Workshop on Persistent Objects.

[42]  Dennis Heimbigner,et al.  Experiences With an Object Manager for a Process-Centered Environment , 1992, VLDB.

[43]  Dennis Heimbigner,et al.  Active Relations for Specifying and Implementing Software Object Management , 1988 .

[44]  Katsuro Inoue,et al.  Generating a Menu-Oriented Navigation System from Formal Description of Software Development Activity Sequence , 1991, Proceedings. First International Conference on the Software Process,.

[45]  Gail E. Kaiser,et al.  Rule chaining in Marvel: dynamic binding of parameters , 1991, IEEE Expert.

[46]  Won Kim,et al.  A Model of CAD Transactions , 1985, VLDB.

[47]  Gail E. Kaiser,et al.  Rule Chaining in Marvel: Dynamic Binding of Parameters , 1992, IEEE Expert.

[48]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[49]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[50]  Roger King,et al.  The Cactis Project: Database Support for Software Environment , 1988, IEEE Trans. Software Eng..

[51]  E. F. Codd,et al.  A Relational Model for Large Shared Data Banks , 1970 .

[52]  C. Fernstrom,et al.  Process Weaver: adding process support to UNIX , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[53]  Steven P. Rei Connecting Tools Using Message Passing in the Field Environment , 1990 .

[54]  Volker Gruhn Managing software processes in the environment MELMAC , 1990, SDE.

[55]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[56]  H. Dieter Rombach MVP-L: a language for process modeling in-the-large , 1991 .

[57]  Naser S. Barghouti,et al.  Supporting cooperation in the Marvel process-centered SDE , 1992, SDE 5.

[58]  Walt Scacchi,et al.  Modeling Articulation Work in Software Engineering Processes , 1991, Proceedings. First International Conference on the Software Process,.

[59]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[60]  Takuya Katayama,et al.  A formal model of re-execution in software process , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[61]  Paolo Ciancarini,et al.  Software process enactment in Oikos , 1990, SDE.

[62]  Gail E. Kaiser Intelligent Assistance for Software Development and , 1988 .

[63]  Karen E. Huff Supporting Change In Plan-based Processes , 1991, Proceedings of the 7th International Software Process Workshop, Communication and Coordination in the Software Process'.

[64]  Mark J Maybee,et al.  Component-object interoperability in a heterogeneous distributed environment , 1996 .

[65]  Scott E. Hudson,et al.  for Software Environments , 1988 .

[66]  Reidar Conradi,et al.  Process Modeling Paradigms: An Evaluation , 1991, Proceedings of the 7th International Software Process Workshop, Communication and Coordination in the Software Process'.

[67]  Wilhelm Schäfer,et al.  MERLIN: supporting cooperation in software development through a knowledge-based environment , 1994 .

[68]  Stanley M. Sutton,et al.  Programming heterogeneous transactions for software development environments , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[69]  Jack C. Wileden,et al.  Foundations for the Arcadia environment architecture , 1989, SDE 3.

[70]  Leon J. Osterweil,et al.  Comparing Design Methodologies through Process Modeling , 1991, Proceedings. First International Conference on the Software Process,.

[71]  C. Fernstrom,et al.  Integration Needs in Process Enacted Environments , 1991, Proceedings. First International Conference on the Software Process,.

[72]  Umeshwar Dayal,et al.  The architecture of an active database management system , 1989, SIGMOD '89.