In the Marvel project, we developed a multi-user process-centered environment (PCE) that can be reused to define and execute different software development processes for different projects or organizations [#!Marvel!#,#!ClientServerJournal!#]. The process is modeled as a set of rules, each specifying the condition and effects of one software development activity. The process is enforced and automated: by backward chaining to attempt to satisfy the condition of an activity requested by the user and by forward chaining to fulfill the implications of a completed activity [#!Expert92!#,#!SDE.cooperation!#].
In the successor Oz project, we are developing PCE architectures and components to be reused to produce a family of PCEs as well as members of other environment classes. We defined and executed our own software processes using earlier versions of Marvel to construct later versions. We are now reusing large portions of Marvel's code in constructing Oz, as well as employing a Marvel process that explicitly recognizes and promotes componentization and reuse.