Conferencereport First European Workshop on Software Process Modelling Milan, Italy 30-31 May 1991 The workshop was the first in a new series of European events on software process modelling and computer support for software process execution and reuse. It aimed at establishing a new forum for interchange of ideas among national and European R&D projects dedicated to this theme. The workshop series is intended to complement the International Software Process Workshop series and the Software Process Conference series. The 17 papers and three panels were organized into six main areas: • Paradigms • Process modelling (PM) versus configuration management (CM) • Rule-based systems • Petri-net-based systems • Other approaches • Experiences
Paradigms Software PM and process-centred environments have drawn increased attention in the software engineering community in the last few years. Yet there are no software process models providing the basis for practically useful software process support environments. Mark Dowson delivered the warm-up presentation, reviewing software process themes and issues. He characterized software processes as a set of steps for creating and evolving systems that must address technical development, project management, data and CM, and quality assurance and control. Often such processes are incoherent and implicit, which leads to a lack of predictability and repeatability and provides an insufficient basis for process improvement. By focusing on process models, description formalisms, process formalization, process assessment, process enaction, and automated support, process-centred R&D efforts attempt to find ways that lead from current process management practice to new approaches that support explicit, evolving processes. C. Liu evaluated six major PM paradigms in current process model support systems. He covered modelling power, coverage of the life-cycle, structuring mechanisms for process models, customization mechanisms, multi-user support and distribution, and integration of environment infrastructure with data and CM techniques. The paradigms whose strengths and weaknesses were explored included: • the active database paradigm, in which programmable triggers are
vol 33 no 10 december 1991
associated with database management system functions • rule-based approaches exploiting AI techniques for PM and execution • graph- and Petri-net-based paradigms • the process programming paradigm adopted in the Arcadia project • the contractual approach of ISTAR • hybrid approaches For each paradigm, basic concepts, inherent problems, and representative systems were sketched. The discussion concluded that no single paradigm can satisfy all requirements of PM, but hybrid approaches will do. The EPOS kernel environment was then presented as a hybrid approach combining a rulebased paradigm to support (re-)planning activities and capture project and product knowledge, and a graph/net paradigm to describe networks of tasks that can be triggered dynamically. P. Armenise reported on a psychological experiment with Coordinator, a workgroup productivity tool implementing Winograd and Flores' speech-act theory. The tool extends a standard email system by software components organizing different types of conversations by a given set of speech acts admissible in each situation. The experiment lasted 12 months, involving 18 people who were geographically dispersed. Most participants reacted negatively because: • the tool was felt to impose inadequate restrictions on conversations, of which 70% were informational rather than commental • formalized conversations implied more misunderstandings than direct speech acts produce • they changed the character of the contents of conversations The discussions mainly criticized the assumed misdesign of the experiment. This session was concluded with a panel on PM paradigms. M. Dowson reflected on the distinction between taskand activity-level definitions, between human- and machine-centred views in process definitions, and between liberal support and enforcement. R. Conradi elaborated on the importance of type systems for structuring and customizing process models. V. Ambriola emphasized the need for experiments with process models. W. Sch/ifer argued in favour of multi-paradigm approaches and clear and simple semantic models. The vivid discussion left questions unanswered, such as:
• What specific parts of the software process require new formalisms and paradigms? • What is the expected benefit of one formalism over another? • What are the characteristics of ideal paradigms?
PM and CM At first glance PM and CM are closely related because CM organizes the development and evolution of software products. Moreover, CM is already used. The question then was are CM techniques and tools are sufficient to handle software processes? One answer by M. Lacroix recognised that CM organizes the evolution of software products along the product structure, whereas project management focuses on the structure of tasks. Thus he proposed to integrate the management of products and their development process by modelling product and process fragments (i.e., tasks) as object types. Dynamic aspects of tasks are captured by a simple mechanism to serialize task execution, depending on data flow in terms of software products. Semantic aspects seem underdeveloped. The Adele project gave a similar point of view. It combines a relational database providing basic change propagation facilities with production rules supporting task modelling and the enforcement of project policies. The database, a multiuser versioned database designed as a configuration manager, evaluates userdefined triggers and propagation mechanisms. The rule manager is a Prolog interpreter extended with a data access interface to the database. One weakness is the need for writing rules and database triggers in parallel as task execution relies on these triggers. The last paper gave a pure CM approach, with no reference to PM. The subsequent panel discussion did not clarify the session theme. The smallest denominator was that CM is a necessary ingredient of PM. This is because product structures are a driving force in software processes and these processes are subject to changes leading to versions of process models.
Rule-based systems This session included seven papers that were more diverse than the title suggests. The first two contributions were on the Oikos environment. Oikos exploits the blackboard paradigm to support cooper-
791
Conferencereport ative group work. It provides a rulebased approach without relying on a central object repository like Marvel or Merlin. C. Montangero described extensions to Oikos, aiming at useful abstraction and horizontal decomposition mechanisms. These concepts are materialized in a graphical notation for process specification as opposed to process programming in terms of logical rules. The latter was addressed by L. Jaccheri, who also discussed issues of process model enactment in Oikos. F. Oquendo presented one of two talks on ALF, an Esprit project aimed at environment support for PM. and enactment built on top of PCTE. The presentation introduced an overwhelming collection of syntactic expressions for describing software processes, but failed to provide a clue about what the semantic kernel o f these expressions might be and how they interface. Thus it also remained unclear how PM instantiation mechanisms work and how activities of an instantiated and enacted process model are coordinated by associated servers. C. Godart gave an example in PM using this approach. The reviewer's talk focused on various aspects of communication in software processes. It was claimed that these aspects should be separated into different views to ease process-model construction, understanding, and evolution. These views may reflect the pragmatics of information communicated, the structure of communication relationships, the form of communication, or authority attributes of participating agents. Views are also the basic entities for exploiting particular description paradigms and support techniques. It was also stressed that process specification and process programming should go together; the former supports relatively complete process models in which no distinction between activities performed by technical or human agents need to be made and it enables analysis and reasoning; the latter supports prediction by simulation, automation, and guidance. The paper on Merlin described a prototype tool. It uses a rule-based language derived from Prolog. The language distinguishes between forward- and backward-chaining rules to separate action from reasoning. Forward-chaining rules express guidance and control flow, while backward-chaining rules search for activities a developer may perform in a situation. Apart from activities, Merlin includes the notions o f roles, deliverables, and resources, which are treated as facts in the prototype database. Tools
792
can be enveloped by pre- and postconditions. They describe necessary inputs with associated constraints and the effects of tool invocations on a development process.
Petri-nctobased systems This session included only two papers. V. Gruhn reported on the prototype environment MELMAC, developed concurrently with Merlin. M E L M A C builds on a variant of high-level Petri nets (predicate-transition nets) that supports an application-specific abstract notation. It includes a graphical editor to construct graphical process models interactively, tools performing consistency and reachability analysis or plausibility checks, and an execution tool to simulate or enact a process model. The second paper described a case study in which the analogy between software processes and real-time systems was explored. The Petri-net model in this work differs from that above by associating time intervals with transitions to express real-time constraints imposed on the execution of development activities. The model can cope with external events occurring at unpredictable times, and it accepts the need for scheduling a set of concurrent tasks so that global deadlines are met. A weakness of the net language is its simple data model and the lack ofmodularization and composition mechanisms. The development of prototype tools is on the project agenda. Other approaches This comprised a paper on ESF work on PM issues, called OPIUM, and the object-oriented tool environment Ithaca, part of Esprit II. OPIUM includes two graphical PM languages, one SADTlike, the other Petri-net-like, a graphical editor, and a generator to produce C code from graphical process models. Pieces of C code are associated with the transitions of the Petri-net notation to provide an executable interpretation of process activities. The semantic integration of the SADT and net notation was not clarified. Ithaca was originally designed as a development environment emphasizing the reuse of software artefacts. Objectoriented techniques support all development phases. Information systems technology provides methods and tools both for reuse of components and for adaptation and evolution processes. However, the impact o f Ithaca on the PM domain was unclear from the presentation by B. Pernici.
Experiences As PM is still immature and developing, this session was small. It contained only one presentation, by B. Warboys, on the IPSE 2.5 project. It produced a processcentred support environment built on a server-client architecture. After a sketch of the IPSE process model, the presenter reported on some lessons learned from environment uses in different application areas. He identified two basic roles of process models, which he called 'downward' and 'upward facing', namely, process models serving as an integration framework for disparate tools and databases and organizing the coordination of humans and tools. Experiences with IPSE showed that process models have a flat structure, involving all the problems of rule-based systems. The need for mechanisms to customize and adapt enacted process models was stressed and contrasted with unsatisfactory experiences made with specialization hierarchies. Concluding discussion The general discussion at the end of the workshop included comparative statements about different PM paradigms, in particular, rule-based systems versus Petri-net-based approaches. The former were generally claimed to be more flexible with respect to changes, while the latter were seen to be stronger in their formal analysis capabilities. It became clear that ease of dynamic change is only part of the story. The more important and yet completely unsolved problems are concerned with the semantics of dynamic changes with respect to" • irreversible effects that have been produced by enacted process models • the validity of contractual or managerial information deduced from a previous enacted process model • the use of previous decisions or the impact of an intended change. An interesting objection was the ignorance of PM language and environment designers to modern project management techniques that deal with goal setting and acceptance, negotiation, and commitment, and not just with Pert or Gant charts. Interest in similar events in the future was disappointing, indicating the instability of this community and the insufficient number of significant midterm R&D projects in Europe. Reprints of the workshop proceedings are available from Alfonso Fuggetta, CEFRIEL, Milan, Italy. B. K R A M E R Institut fiir Systemtechnik, G M D , Sankt Augustin, Germany
information and software technology