![]() |
|
| Process Automation |
A-B-C- D-E-F- G-H-I- J-K-L- M-N-O- P-Q-R- S-T-U- V-W-X- Y-Z
Identification
Also as
Definitions/Uses| 2001 | |
|---|---|
| Reference | /Scacchi, 2001/ Process Models in Software Engineering |
| Definition/ Use |
Process automation and programming are concerned with developing formal specification of how a system or family of software systems should be developed. Such specifications therefore provide an account for the organization and description of various software production task chains, how they interrelate, when then can iterate, etc., as well as what software tools to use to support different tasks, and how these tools should be used /Hoffnagle, 1985/, /Osterweil, 1987/. Focus then converges on characterizing the constructs incorporated into the language for specifying and programming software processes. Accordingly, discussion then turns to examine the appropriateness of language constructs for expressing rules for backward and forward-chaining, behavior, object-type structures, process dynamism, constraints, goals, policies, modes of user interaction, plans, off-line activities, resource commitments, etc. across various levels of granularity /Garg, 1989/, /Kaiser, 1988a/, /Mi, 1992/, /Williams, 1988a/, /Yu, 1994/. This in turn implies that conventional mechanisms such as operating system shell scripts (e.g. Makefiles on Unix) do not support the kinds of software process automation these constructs portend.
Lehman /Lehman, 1987/ and Curtis and associates (GDPA note: Curtis & Associates is now a part of Concera Corporation May/2001) /Curtis, 1987/ provide provocative critiques of the potential and limitations of current proposals for software process automation and programming. Their criticisms, given our framework, essentially point out that many process programming proposals (as of 1987) were focused almost exclusively to those aspects of software engineering that were amenable to automation, such as tool sequence invocation. They point out how such proposals often fail to address how the production setting and products constrain and interact with how the software process is defined and performed, as revealed in recent empirical software process studies /Bendifallah, 1987/, /Curtis, 1988/, /Bendifallah, 1989/, /Grinter, 1996/. Beyond these, the dominant trend during the 1990's associated with software process automation was the development of process-centered software engineering environments /Garg, 1996/. Dozen of research projects and some commercial developments were undertaken to develop, experiment with, and evaluate the potential opportunities and obstacles associated with software environments driven by operational software process models. Many alternative process model formalisms were tried including knowledge-based representations, rule-based schemes, and Petri-net schemes and variations. In the early 1990's, emphasis focused on the development of distributed client-server environments that generally relied on a centralized server. The server might then interpret a process model for how to schedule, coordinate, or reactively synchronize the software engineering activities of development working with client-side tools /Garg, 1994/, /Garg, 1996/, /Heineman, 1994a/, /Scacchi, 1997/. To no surprise, by the late 1990's the emphasis has shifted towards environments architectures that employed decentralized servers for process support, workflow automation, data storage, and tool services /Bolcer, 1998/ , /Grundy, 1998a/, /Scacchi, 1997a/. Finally, there was also some effort to expand the scope of operational support bound to process models in terms that recognized their growing importance as a new kind of software /Osterweil, 1987/. Here we began to see the emergence of process engineering environments that support their own class of life cycle activities and support mechanisms /Garg, 1996/, /Garg, 1994/, /Heineman, 1994a/, /Scacchi, 1997/, /Scacchi, 1997a/. |
| Rationales | The author classifies the "Software Process Automation" as one of the Operational Process Models |
| 1993 - a | |
| Reference | /Feiler, 1993/ Software Process Development and Enactment: Concepts and Definitions. |
| Definition/ Use |
The use of machine process agents in process enactment. |
| 1993 - b | |
| Reference | /Lonchamp, 1993/ A Structured Conceptual and Terminological Framework for Software Process Engineering |
| Definition/ Use |
Automatical invocation of non-iteractive tools, such as compilers, driven by the enacting model. |
See also
Publications on this area
GDPA Online
Last Updated 25.May.2002
Updated by Webmaster
Last Revised 25.May.2002
Revised by Webmaster
![]() |