Title: The CUP Project
1The CUP Project
LABORATOIRE DINFORMATIQUE FONDAMENTALE DE
LILLE Goals Team
- Component Unified Process
Emmanuel.Renaux, Olivier.Caron,
Jean-Marc.Geib_at_lifl.fr
UNIVERSITE DES SCIENCES ET TECHNOLOGIES DE
LILLE LIFL - UFR 8022 CNRS - Bât. M3 59655
VILLENEUVE D ASCQ CEDEX Tél 33
(0)3.20.43.47.27 - Fax 33 (0)3.20.43.65.66 E-mai
l emmanuel.renaux_at_lifl.fr - web
http//www.lifl.fr/renaux
2Contents
- Problematic and goals
- Related Concerns
- Quick Tour of CUP Method
- Conclusion
3Problematic and Goals
- Define a component driven process
- System design life cycle
- Different concerns, different views on the system
- A view for each concern
- Put the component on a central position
- Early identification
- Omnipresent component
- Apply model engineering ( OMG MDA )
- Technological platform independent models
- Transformation toward platform specific models
4Related Concerns
- Component Based Design
- Model Driven Architecture
- Unified Process
5Component Based Design
Related Concerns
- Component based target platforms EJB, CCM,
- Software Quality
- State of the art
- UML 1.x physical component
- Future UML 2.0 introduction of logical
component (subtype of class meta-class) - Contribution
- Logical component
- Omnipresent component
6Model Driven Architecture
Related Concerns
- Use of models sequence to reach implementation
model of the system - State of the art
- MDA 4 steps
- Contribution
- Application in CUP approach, defining PIM
meta-model (1) (2) - Reduce step (3) to automatic tasks
DynamicAnalysisMetamodel
StaticAnalysisMetamodel
ComponentDesignMetamodel
UsecaseMetamodel
AssemblingMetamodel
CUP Metamodel
1
2
UseCaseModel
SystemModel
ComponentModel
InteractionModel
System Model
3
4
Java
EJB
CCM
Implementation Model
7Unified Process
Related Concerns
- System engineering best practices
- Phases and work-flows improve project management
- State of the art
- A set of mentors, guides,
- Based on the requirements, architecture driven,
iterative process, ... - Contribution
- Use UP as a framework of engineering method
- CUP is UP because of the different concerns
stress by each sub-meta-models
8Component Unified Process
- Architecture of models
- Component driven process
- Identification at the first stages
- Structured guide to model driven construction of
com-ponents - Logical component improves inter-model
consistency check - Model Driven Architecture
- A detailed PIM Model
- PSM (EJB, CCM, .NET, )
9Quick Tour of the CUP Method
- Requirements View
- Dynamic Analysis View
- Component Design View
- Assembling View
10Requirements View
Quick Tour of CUP Method
- System specifications
- Early identification
- User requirements
- Services categorisation
- Introduction of a new use case relation
- External use relation
- Show dependency between components
Requires paid leave request
UpDates paid leave request
Cancel paid leave request
Refuses paid leave request
Validates paid leave request
Leader
Employee
Fills-up activity reports
Validates activity reports
UpDates activity reports
Actor
Use Case
interaction
11Use-case Meta-model and Part of Analysis
Meta-model
Quick Tour of CUP Method
Actor
primary
secondary
0..
1
alternatives
UseCase
Scenario
Component
0..
0..
Enum category description
nominal
1
externalUsedUsecases
includedUsecases
extendedUsecases
0..
0..
0..
0..1
Message
Role
receivedMessage
sender
predecessor
0..1
0..
0..1
sentMessage
receiver
successor
0..1
Entity
Control
ExternalControl
Boundary
(from ComponentDesignMetamodel)
(from UsecaseMetamodel)
(from AnalysisMetamodel)
(from AssemblingMetamodel)
12Dynamic Analysis View
Quick Tour of CUP Method
Leader
LeaderGui
paidLeaveValidation
LeavesDataBase
PaidLeaveRequest
FillUpActivityReport
identification
identify(id)
employee capture
check(employee)
period capture
paidLeaveConsult(period)
find(employee,period)
find(employee,period)
validation
Boundary role
requestValidation()
validates()
Control role
activityReportModifies(employee,period,"paid
leave")
Entity role
Actor
- More precise dependency
- Class and method level
- New role stereotype
13Component Based Design View
Quick Tour of CUP Method
- Static description
- Provided services
- Required services
- White box view
- Analysis of the com- ponent parts
ltltcomponentgtgt paidLeave
ltltcontrolPartgtgt Validate
ltltdelegategtgt
FillUpActivityReport
validate()
PaidLeaveValidation
ltltcontrolPartgtgt UpDate
PaidLeaveUpDate
PaidLeaveRequest
ltltcontrolPartgtgt Require
ltltentityPartgtgt LeavesData
put() remove() get()
ltltentityPartgtgt PaidLeaveRequest
0..
Class
ProvidedPort
RequiredPort
Association
Implementation
Component
14Component Design Meta-model
Quick Tour of CUP Method
Class
Feature
0..
Interface
Method
Attribute
0..
specifications
realisation
Part
Port
Component
type
0..1
0..
0..
ProvidedPort
RequiredPort
ControlPart
EntityPart
roles
0..
Role
Entity
Control
ExternalControl
Boundary
(from ComponentDesignMetamodel)
(from UsecaseMetamodel)
(from AnalysisMetamodel)
(from AssemblingMetamodel)
15Assembling View
Quick Tour of CUP Method
- System description
- Connection between components
- Black box view
- Show definition of component
ltltcomponentgtgt paidLeave
PaidLeaveValidation
FillUpActivityReport
PaidLeaveUpDate
PaidLeaveRequest
ltltcomponentgtgt activityReport
ActivityReportUpDate
ActivityReportValidation
System Staff Management
Connection
ProvidedPort
RequiredPort
Component
16Assembling Meta-model
Quick Tour of CUP Method
0..1
Assembling
System
0..
OCL Constraint
Connector
0..
requiredPort
providedPort
0..1
0..1
0..
Port
Component
ProvidedPort
RequiredPort
(from ComponentDesignMetamodel)
(from UsecaseMetamodel)
(from AnalysisMetamodel)
(from AssemblingMetamodel)
17Meta-model Coherence Guaranty
Quick Tour of CUP Method
- Coherence rules inside the meta-model
- Design is controlled and made easier
- Tool maintains coherence
- Allows better tracability
PIM to PSM Transformation
Quick Tour of CUP Method
- MDA Process and mechanism
- Reduce design activity to model transformation
with architectural tuning - Analyse once, map every technology !
18Conclusion
- Model driven component based process
- Models linked by the central concept of component
- Multi-model component model improve tracability
- Early component identification
- definition of component based on use cases
- detect prefabricated logical component with use
cases - Future works
- Tool based on Eclipse plugins EMF
- With graphical representation of the metamodel
- And automatic generation of CUP modeler
- With coherence management
- Contribute to software industry (COTS, and
product line)
19Questions ??
- Thank you for your attention
20Related Works
- Catalysis Approach (DSouza)
- UML Component (Wills)
21Method
- Limitied to Logical component
- Only business components
- Separated from standards