Software Process Modeling is the activity of formalizing the production lifecycle of software systems. The aim is to formally describe a software development process, that then is effectively used and possibly enacted by an environment. We show that rule-based languages, especially logic programming languages, are an important technology for software process specification, modeling, enactment, and coordination. Because several process activities can be defined by rules. Some initial proposals aimed at animating a software process by a rule-based program embedding some development rules. A further step toward the integration of rule-based languages in the software process has be done using a dynamic knowledge base as project database, and a number of special primitives have been introduced to support process programs. Currently there is a trend toward more complex programming environments, called process-centered development environments. We show how some rule-based coordination languages are being used to build this kind of environment.
['Paolo Ciancarini']
Modeling the software process using coordination rules