Abstract
As software projects evolve, possibly differing in size, complexity, scope and purpose, the development processes that support the project must evolve to reflect these changes. For a distributed project, maintaining proper communications, coordinating between project stakeholders, and maintaining managerial control become increasingly important and, unfortunately, increasingly difficult. The Endeavors system is an open, distributed process modeling and execution infrastructure that addresses communication, coordination, and control issues. Complex processes may require: (a) distribution of people and processes; event based and intermediate format integration of external tools; a low entry barrier through ease of use and incremental adoption; ability to customize and reuse objects, tools, and policies; and dynamic change of runtime processes, objects, and behaviors. Endeavors' solution architecture achieves these goals through application of five key design strategies: (1) maintaining multiple object model layers; (2) implementing the architecture as a set of highly componentized, lightweight, transportable, concurrent elements; (3) providing customization capabilities for each layer of the object model; (4) using a reflexive object model to support dynamic change; and (5) allowing dynamic loading and changing of objects including loading of executable handlers, new object types, and extensions. We discuss these goals and design strategies, describe the architecture, and describe the current status of the project and its relevance to its own development.

This publication has 13 references indexed in Scilit: