A Process-Agent Construction Method for Software ... - Semantic Scholar

1 downloads 0 Views 406KB Size Report
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