A Layered Software Process Enactment Mechanism
Hu Hao,Ge Ji-Dong,Lin Xiang-Yu,Lü Jian
DOI: https://doi.org/10.3321/j.issn:0469-5097.2006.02.003
2006-01-01
Abstract:Different process enactment mechanisms have their respective effects on various aspects of software process support,such as process model complexity,process enactment flexibility and process execution efficiency.Traditionally,two major process enactment mechanisms,namely proactive mode and reactive mode,are employed.In the proactive mechanism,the modeling approach often present software process in a predefined,single,and monolithic description.Although such an approach can be easily controlled and executed,it fails to provide an efficient means of accommodating concepts such as software process change and evolution.The rule-based modeling approach in reactive mechanism,on the contrary,can provide strong flexibility,but it is too complex to be comprehended and controlled.In order to balance the tradeoff between the two conflicting mechanisms,the research on software process programming began to orient toward choosing a new method to support the dynamic changes in software process. In practice the software processes at different levels have different characteristics and different process enactments should be adopted at different organizational levels.We think that software processes can be divided into two levels.The lower level processes are often structured so that their execution procedure can be predetermined.In contrast,the higher level processes are often semi-structured and unstructured so that they can't predetermine their execution procedures and they must be executed in a reactive way in order to respond to changing environments quickly.This paper proposes a two-layered process enactment mechanism in which the process fragment is the main process model building block.In our model,activities from the same software development stage are assembled together to form a process fragment.One or more of such fragments make up a process.A process fragment consists of two parts.One is a sub-process with a fixed control flow,while the other is a group of event lists which can be dynamically changed during finishing the task of cooperation over the different software development stages.As a result,the proactive mechanism and reactive mechanism can be integrated into one process model so that this two layered process mechanism will benefit from them.Finally,in order to prove the practical effectiveness of this mechanism,four conditions encountered in CPMS applications,including "subroutine","concurrency","feedback" and "wait",were analyzed in a brief case,and the corresponding solutions resulting from the application of this mechanism to CPMS were also provided.