Title: Eliciting Coordination Policies from Requirements
1 Eliciting Coordination
Policies from Requirements
Henry Muccini Fabio Mancinelli SEA group,
Computer Science Dep., University of LAquila,
Italy muccini,mancinel_at_di.univaq.it
2The Framework Kluwer03 steps
- Elicit coordination requirements
- Map coordination into Software Architecture (SA)
- Analyze consistency between Coordination req. and
SA - Mapping this information into the low level
drives
drives
1
Software Architecture
Software Architecture
2
4
Requirement Engineering
Design Coding
Coordination
Coordination
3
Coordination
validates
Rational Unified Process
3This paper
- We analyze the first step
- How to drive the coordination properties
elicitation process - from requirements
- Using the Rational Unified Process (RUP)
RUP-based models
(Informal) Requirements
Coordination elicitation process
4Something on the RUP
- Model-based process
- Use case based, architecture centric and
iterative - Main goal to use UML diagrams to model
- requirements (use case model),
- analysis (analysis model),
- design (design model) and
- implementation (implementation model).
5Example (a very simple one)
- Students and Professors want to run some tasks by
using available resources
Use case model
Analysis model
Student
UCC5)
boundary class
6 Based on
- Malone and Crowston
- Actors, Process dependencies and resource sharing
- Arbab
- The need of an exogenous coordination model
- Fiadeiro et al.
- Coordination contracts as connectors
- Linda and Gamma
- What to coordinate, how to coordinate
- Papadopoulos
- Software architecture description implemented
through coordination languages
7Our perspective RUP Coordination
Actor
Task
- In terms of Actors, resources and Use Cases,
coordination may be defined as - the rules dictating how multiple Use Cases,
initiated by Actors, can collaborate by utilizing
available resources (design-based coordination) - (SE view of coordination)
- From many definitions, to coordinate software
systems, three entities must be taken into
consideration - Functional entities (processes, tasks or
activities) - Resource entities (accessed by functions)
- Agent entities, able to run functions
Resource
8What we could do
Actors
Tasks
Resources
Printer
UC(1)
Printer-fax-copier
UC(2)
Student
Student
Student
Fax
UC(3)
UC(4)
Professor
Professor
How do students and professors can run many print
and fax tasks using the available resources
9What we propose, instead
- Incremental approach
- Structural and static coordination
- Identify what we need to coordinate
- Identify coordination policies (the how to)
- Based on the concept of Process coordination and
Resource coordination - Exogenous model
10Step0
- Static Coordination (what is need to be
coordinated)
entity class resources
control class coordinators
11Step1
- How resources may be allocated to Processes/Actors
Printer
PrintCoord
Printer-Fax-Copier
Printer
Print
Printer-Fax-Copier
PrintCoord
Fax
Printer-Fax-Copier
Fax
12Step2
- How different Use Cases (of the same Actor)
interact
Printer
Print
Printer-Fax-Copier
Printer
Print
Printer-Fax-Copier
queue
Fax
Fax
13Step3
- How different Actors interact
Printer
Print
queue
Print
Printer-Fax-Copier
queue
Fax
Fax
14Step4
- How many Use Case instances cooperate
Printer
queue
Print
Printer-Fax-Copier
queue
Fax
Print
Fax
queue
15Step5
- How many Actor instances cooperate
Printer
queue
Student
Student
Student
Print
Printer-Fax-Copier
Fax
Print
queue
Professor
Fax
Professor
queue
16What we propose, instead
- Incremental approach
- Structural and static coordination
- Identify what we need to coordinate
- Identify coordination policies (the how to)
- Exogenous model
- Based on the concept of Process coordination and
Resource coordination
17 18Ongoing and Future Work (1/2)
minimize/maximize a function
19Ongoing and Future Work (2/2)
- Process review
- To make it compositional
- Formalization
- By using a UML View model
- By using Queued Petri Nets
- Application to Industrial Process Planning
- To maximize/minimize the resource utilization
- Case Study
- Micron Italia
20Combining the pieces together
drives
drives
1
Software Architecture
Software Architecture
2
4
Requirement Engineering
Design Coding
Coordination
Coordination
3
Coordination
validates
SEA group, Computer Science Dep., University of
LAquila, Italy
G. Papadopoulos University of Cyprus
21Henry Muccini, Ph.D.Assistant ProfessorUniversit
y of LAquila Italymuccini_at_di.univaq.itwww.He
nryMuccini.com