May 21, 2006 - Institute of Software,Chinese Academy of Sciences. A Process-Agent Construction Method for. Software Process Modeling in SoftPM.
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
A Process-Agent Construction Method for Software Process Modeling in SoftPM
Qing Wang, Junchao Xiao, Mingshu Li, M. Wasif Nisar, Rong Yuan, Lei Zhang Institute of Software, The Chinese Academy of Sciences 2006-05-21
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Agenda Introduction Process-Agent in OEC-SPM Construction Method of the Process-Agent An Example Conclusions
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Background - 1 Software processes are knowledge-intensive and one of their characteristics is their high dependence on the capabilities of individual software engineers and software development teams Process resources especially capabilities of human resource that mainly impact the process, have not been well considered by traditional methods This resulted in the instability and unpredictability in regards to the execution process
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Background - 2 Related Works ¾
Research on the capabilities of engineers and teams in the software process:
¾
SEI presented PSP and TSP to help organizations improve the CMMI-Based process.
Apply the agent technology to process modeling
Focus on business processes modeling and their automation by adopting multiple kinds of agents Use software agent in representing the flexible organization structure of the software development process model.
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Background - 3 ISCAS presents a solution for software process management and also implements a toolkit: SoftPM Process-Agent was used to organize the Process Assets Organization-Entity Capability Based Software Process Modeling (OEC-SPM) was presented to model standard processes This paper aims to introduce the method that defines and constructs a Process-Agent
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Process-Agent in OEC-SPM - 1
Software development is a special kind of production process ¾ ¾
Highly human sensitive Different performers would produce productions with varying quality and quantity even in a same software process
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Process-Agent in OEC-SPM - 2 Three aspects must be taken into account: ¾ ¾ ¾
What can the process do? How does the process work? How many resources, such as cost, schedule etc., are needed?
Traditional methods usually consider the first aspect rather than the second, and rarely the third ¾
Process capabilities are determined by devices’ capabilities in traditional methods
OEC-SPM takes into account not only the first two aspects but the third aspect as well
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Process-Agent in OEC-SPM - 3 OEC-SPM constructs an organization entity with definite capabilities as a Process-Agent ¾
e.g. a java coding team with definite productivity
All the historical data, experience and knowledge of this entity are encapsulated in the Process-Agent ¾
So it can determine its specific capabilities and performance baseline based on these data as well as its self-learning mechanism.
Based on Process-Agent, OEC-SPM is able to consider not only relationships among process elements, but also capabilities of process.
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Process-Agent in OEC-SPM - 4 In SoftPM, Process-Agent is used in the organization and management of the process asset, based on that, OEC-SPM establishes and maintains standard processes and project processes
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Process-Agent in OEC-SPM - 5 OEC-SPM Process
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Process-Agent in OEC-SPM - 6 OEC-SPM = (G, EK, PA), here: ¾
G represents a set of environment goals under specify constraints, G = {g1, g2, …, gn}, gi= (gsi, gsei, gci):
¾
¾
gsi is the goal statements, it is a string and describes what the goal is; gsei is the goal size estimation; gci is a set of goal constraints that realize the goal g in ProcessAgent, such as TC (Time Constraint), CC (Cost Constraint), QC (Quality Constraint), LC (Language Constraint), etc.
EK is the environment knowledge that comprises a number of facts as the basis to realize goals and the premises to know the world. PA is a group of Process-Agents, PA = {pa1, pa2, …, pan}.
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Construction Method of the Process-Agent - 1
Process-Agent is defined as a duple, PA = (PAI, PAE) : ¾
¾
PAI is the Infrastructure which describes the knowledge of the Process-Agent and is used as the basis for PAE PAE is the Engine which reasons the behavior of Process-Agent based on its PAI and is driven by external environment
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Construction Method of the Process-Agent - 2 The three parts of knowledge are used to determine: ¾
¾ ¾
What the Process-Agent can do with its descriptive knowledge How to do with its process knowledge How many resources will be needed with its experience data
According to the behaviors of Process-Agent, PAE has five functional modules: ¾ ¾ ¾ ¾ ¾
Perceptor Reactor Learning Engine Enactment Engine Reasoning Engine
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Construction Method of the Process-Agent - 3 Process-Agent Infrastructure (PAI) ¾
Descriptive Knowledge (DK)
¾
Process Knowledge (PK)
¾
BA: some basic attributes of the Process-Agent AG: the Process-Agent’s goal, that is, it’s intention and end goals CRM: control rule model, inclusive of the pre-conditions (PreC) and post-conditions (PostC) whose function is behavioral control of the Process-Agent SK: skills set which the Process-Agent has RC: resource constraint of the Process-Agent AEG: resources estimation on the goal Composed of policy, procedures, templates, rules, and other process related knowledge
Experience Library (EL)
Comprises historical data such as the time, cost, defect, etc
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Construction Method of the Process-Agent - 4
Process-Agent Engine (PAE) ¾
¾ ¾
¾
¾
Perceptor: perceive the environment knowledge, goals and their constraints from the environment Reactor: generate the action of the Process-Agent Learning Engine: learning mechanism to facilitate Process-Agent efficacy in terms of intelligence Enactment Engine: controlling the other modules to realize the intelligent behaviors of the Process-Agent Reasoning Engine: performs some reasoning in the behavior judgment of Process-Agent
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Construction Method of the Process-Agent - 5 Behavior Reasoning Process
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
An Example - Hypothesis - 1
g = (gs, gse, gc), here: ¾ ¾ ¾
gs = “Coding”, i.e., the goal is to code an application; gse = “12KLOC”, i.e., size estimation is 12KLOC; gc = {TC=[2006-01-01, 2006-03-15], LC=”Java”}, here:
TC is time constraint of the goal, meaning the goal must be realized before 2006-03-15; LC is language constraint of the goal and its value is “Java”, that means Java is the language that must be used to realize the goal.
EK = {DesignDoc(g)}, is indicative of the presence of a design document in the environment for realizing the goal g.
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
An Example - Hypothesis - 2
Descriptive Knowledge of Process-Agents
DK\Process-Agent
BA
PA1
PA2
PA3
EN
XIELIZI
ZHANGLEI
LIUDAPENG
PAN
PA1
PA2
PA3
Description
programmer with Java
programmer with C++
programmer with Java
Coding
Coding
Coding
PreC
∃DesignDoc(x) ∧(x∈G)
∃DesignDoc(x) ∧(x∈G)
∃DesignDoc(x) ∧(x∈G)
PostC
Code(x) ∧(x∈G)
Code(x) ∧(x∈G)
Code(x) ∧(x∈G)
(Language, Java, Middle)
(Language, Java, NONE)
(Language, Java, High)
[06-01-15,2006-04-20]
[06-02-10,2006-03-10]
[06-01-20,2006-01-30]
--
--
--
AG CRM
SK (sk0) RC
Tr
AEG
Baseline productivity of the Process-Agent EL\ Process-Agent
PA1
PA2
PA3
Productivity(KLOC/PDay)
0.4
0.1
0.6
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
An Example - Behaviors Reasoning - 1 Step1: Match Process-Agent’s goal ¾
PA1’s, PA2’s and PA3’s goal all matches the environment goal
Step 2: Determine whether the pre-condition of the Process-Agent can be satisfied ¾
Pre-condition of PA1, PA2 and PA3 are all satisfied
Step3: Judge whether the Process-Agent’s skill can satisfy the goal’s constraints ¾
PA1 and PA3 satisfy the goal’s skill constraints.
Step 4: Estimate the executing time based on ProcessAgent’s EL and the environment goal’s size ¾ ¾
PA1: AEG.T = g.gse/EL.Productivity= 30 PDays PA3: AEG.T = g.gse/EL.Productivity= 20 PDays
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
An Example - Behaviors Reasoning - 2 Step 5: Compare AEG with the Process-Agent’s time resource ¾
¾
¾
environment goal time constraint is 53 workdays from [06-01-01, 06-0315]) PA1 need 30 person-day and it has only one person. From its available starting date, ‘06-01-15’+30 = 06-02-13 PA3 does not have the ample time to facilitate this goal
Step 6: Generate the local plan of the Process-Agent for realizing the environment goal
Coding 30days
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
An Example - Perform and monitor in SoftPM
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Conclusions Presents a method for defining and constructing the Process-Agent. The Process-Agent ¾ ¾
Organizes and describes its knowledge in PAI Reasons and determines its capabilities to meet the given goal by PAE.
With this method, the Process-Agent can determine ¾ ¾ ¾
What can the process do? How does the process work? How many resources, such as cost, schedule etc., are needed?
On the basis of the Process-Agent and its modeling method, SoftPM can ¾
Organize the process asset as an appropriate form and granularity, providing the capabilities and performance of process predictability and stability in regards to the quantitative process management.
According to its self-learning, the Process-Agent can make selfimprovements continually
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences
Thank You! http://www.cnsqa.com