2009 | OriginalPaper | Chapter
Designing Tasks
Author : Tong Li
Published in: An Approach to Modelling Software Evolution Processes
Publisher: Springer Berlin Heidelberg
Activate our intelligent search to find suitable subject content or patents.
Select sections of text to find matching patents with Artificial Intelligence. powered by
Select sections of text to find additional relevant content using AI-assisted search. powered by
After an activity is designed (modelling software evolution processes at the activity level), its tasks should be designed (modelling software evolution processes at the task level). The kernel objective of designing a task is functional decomposition. The function of a task is defined by both a precondition and a postcondition, which are first order predicate formulae. They define a function which transfers inputs into outputs. Although a task is the finest-grained component in software evolution processes, the function of a task might be more complex and coarse-grained when a task is first defined. In this chapter, an approach is proposed to decompose a function into finer functions that are easy to carry out. By means of matching the code segments in the segment base, matching the decomposition case in the case base and executing the decomposition rules in the rule base, functional decomposition is carried out. The decomposition process is described by a decomposition tree and executed until the granularity of the functions is appropriate. By synthesising the data in the decomposition tree, a framework composed of finer functions is generated. Three decomposition rules including sequence, selection and repetition decomposition rules are proposed and proved to be correct. The decomposed work products can be described by EPDL.