Title: MDA experiment in Telecom Industry Bertrand NICOLAS bertrand'nicolasfrancetelecom'com
1MDA experiment in Telecom IndustryBertrand
NICOLASbertrand.nicolas_at_francetelecom.com
2Outline
- MetYs and its processes
- Mainsprings for MetYs processes definition
- MetYs processes
- MetYs process description
- MetYs for IN telecom services modelling
- Domain analysis
- System analysis
- Design
- Conclusion and future works
- MetYs is a France Telecom trademark.
3Mainsprings for MetYs Process Definition
- To split up modelling into functional and
technical features - To allow reuse of business models
- To allow reuse of technical studies for systems
based on similar technical infrastructures - To split up modelling into 3 areas
- Enterprise, Domain, Software application or
telecom service - These 3 areas cover the complete company
modelling - Splits up studies and encourages model reuse
- To define one modelling process for each (area,
functional-technical feature) - To define MetYs processes according to the
ISO/SPICE recommendation for software process
assessment
4MetYs Processes
Functional
Technical
Enterprise
Process Analysis
Global Architecture
Domain
Domain Analysis
Domain Architecture
System Analysis
System Architecture
Software Application
Design
Coding et Testing
5MetYs Processes
Functional
Enterprise
Order and delivery process for telecom services
6MetYs Processes
Functional
Domain
Vocal service element,
7MetYs Processes
Functional
Software Application
Virtual private network service, Integrated mail
service,
8MetYs Processes
Technical
Enterprise
Working stations, VoiceXML Platforms,
9MetYs Processes
Technical
Domaine
A CORBA Platform, A VoiceXML Platform,
10MetYs Processes
Technical
Software Application
An integrated mail service on a VoiceXML
platform,
11MetYs Processes
Functional Technical
Software Application
An integrated mail service on a VoiceXML
platform,
12MetYs Processes
Functional Technical
Software Application
13Outline
- MetYs and its processes
- Mainsprings for MetYs processes definition
- MetYs processes
- MetYs process description
- MetYs for IN telecom services modelling
- Domain analysis
- System analysis
- Design
- Conclusion and future works
- MetYs is a France Telecom trademark.
14What does a MetYs Process Definition Consist on
?
- A purpose and a goal
- A meta-model
- The concepts with their relationships and their
semantics - Input and output work products
- Involved actors
- Tasks and steps
- Quality criteria (SPICE)
- One or several UML profile
- Mapping between concepts / work products, and UML
concepts / diagrams - Organisation of model elements in UML tools
- Model validation rules
- Presentation rules (UML diagrams, documents, etc.)
15Outline
- MetYs and its processes
- Mainsprings for MetYs processes definition
- MetYs processes
- MetYs process description
- MetYs for IN telecom services modelling
- Domain analysis
- System analysis
- Design
- Conclusion and future works
- MetYs is a France Telecom trademark.
16MetYs for IN Telecom Services Modelling
- Context
- An IN telecom service is specified by using
components called Service Elements - A Service Element (SE)
- Is a set of operations and data
- has a behaviour
- Needs
- A method for modelling telecom services
- using UML
- component oriented
- with a direct link between analysis and design
processes - Automatic model generation from UML to SDL models
for - Behaviour simulation
- Test generation
17MetYs for IN Telecom Services Modelling
Functional
Technical
Enterprise
Process Analysis
Global Architecture
Domain
Domain Analysis
Domain Architecture
System Analysis
System Architecture
Software Application
Design
Coding et Testing
18Outline
- MetYs and its processes
- Mainsprings for MetYs processes definition
- MetYs processes
- MetYs process description
- MetYs for IN telecom services modelling
- Domain analysis
- System analysis
- Design
- Conclusion and future works
- MetYs is a France Telecom trademark.
19Domain Analysis Meta-Model (part of)
AS Functionality
- Abstract Service (AS)
- AS Functionality
- Service Element (SE)
- SE Functionality
- Domain Resource
- Domain Role
- Domain Resource Category
- AS Functionality Category
-
Category
includes
includes
0..
0..
1..
1..
interacts with
1..
1..
AS
0..
0..
offers
AS Functionality
0..
0..
uses
0..
0..
0..
0..
products
0..
0..
0..
0..
0..
0..
0..
0..
1..
1..
extends
Domain Resource
Domain
gathers
Domain Role
Category
Resource
extends
includes
1..
1..
1..
1..
includes
0..
0..
0..
0..
0..
0..
0..
0..
0..
0..
products
0..
0..
uses
SE Functionality
0..
0..
SE
offers
0..
0..
interacts with
1..
1..
0..
0..
extends
20Example of Concept Abstract System (AS)
- Definition
- Captures the common behaviour of a set of
services - This common behaviour corresponds to a set of
domain roles interacting with this service
family, and a set of common functionalities for
this service family - The decomposition of common functionalities may
involve a set of service elements (SE) - Its execution environment is modelled by The
abstract service context - Its functionalities are modelled by The
functional model of abstract system - UML Representation (i.e. Part of MetYs / Domain
Analysis profile ) - A package with a ltltASgtgt stereotype and the name
of AS. - This package is included in the Abstract Service
Repository. - A class with ltltASgtgt stereotype and AS name.
- This class is included in the previous package.
21Example of Work Product The abstract service
context
- Definition
- Captures the AS within its environment
- Characterizes AS boundary to avoid ambiguity
about its functionalities - Shows all domain roles (person and others
systems) which interact with the AS. These
interaction definitions may be completed by data
or event - UML Representation (i.e. Part of MetYs Domain
Analysis profile ) - A class diagram.
- This diagram is stored in the associated package
with ltltASgtgt stereotype.
22Tasks and Steps
- Macro-Task A ABSTRACT SERVICE ANALYSIS
- Task 1 Context specification and main AS
functionalities identification - Identify all users who interact with the AS (i.e.
domain role , business roles). - Identify others systems interacting with the AS
(i.e. domain role , business roles). - Specify The abstract service context.
- Identify one or several AS from which the current
AS may inherit. - Identify main functionalities offered by the
current AS to each trigger role. - Verify coherence between AS context and its
super-AS context(s). - Verify coherence between AS functionalities and
its super-AS functionalities. - Describe domain roles according to the Domain
role description guide. - Describe the AS according to the Abstract service
description guide. - Task 2 Definition of the main AS
functionalities - Task 3 Definition of all domain resources used
by the AS - Task 4 Validation of work products
- Macro-Task B SERVICE ELEMENT ANALYSIS
- . . .
23Example of Abstract Service Customized Service
Subscriber
switchesOn
customizes
switchesOff
ltltSAgtgt
subscribesService
performs
Customisable Service
unsubscribesService
Service User
Trader
activatesService
cancelsService
Service Administrator
24Example of Abstract Service Customized Service
- The functional model (part of)
ltltASfonctionalitygtgt
ServiceCustomisation
customizes
performs
SwitchesOn
ltltASfonctionalitygtgt
ltltASfonctionalitygtgt
Service User
Subscriber
ServiceExecution
ServiceOn
switchesOff
ltltASfonctionalitygtgt
ServiceOff
25Example of Service Element Transfer
Trader
Subscriber
Service Administrator
ltltSEfonctionalitygtgt
ltltSEfonctionalitygtgt
TransferSubscription
TransferUnsubscription
ltltSEfonctionalitygtgt
TransferCustomisation
subscribesTransfer
unsubscribesTransfer
activatesTransfer
customizesTransfer
ltltDomainRolegtgt
ltltSEfonctionalitygtgt
Service
switchesOnTransfer
TransferActivation
ltltSEfonctionalitygtgt
TransferOn
cancelsTransfer
switchesOffTransfer
performsTransfer
ltltSEfonctionalitygtgt
TransferCancellation
ltltSEfonctionalitygtgt
TransferOff
Service User
ltltSEfonctionalitygtgt
TransferExecution
26Example of Service Element Transfer
- Domain resources used by Transfer SE
isAssociatedTo
0..1
father
0..1
0..
son
0..
ltltDomainResourcegtgt
TransferDescription
ltltDomainResourcegtgt
isTransferedTo
Entity
on Boolean
condition TransferCondition
transferTo Number
id EntityId
0..
0..
- Use and creation links between domain resources
and SE functionalities
ltltcreategtgt
ltltusegtgt
27Outline
- MetYs and its processes
- Mainsprings for MetYs processes definition
- MetYs processes
- MetYs process description
- MetYs for IN telecom services modelling
- Domain analysis
- System analysis
- Design
- Conclusion and future works
- MetYs is a France Telecom trademark.
28System Analysis Meta-Model (part of)
- Domain Analysis concepts
- AS, SE, AS/SE Functionnality
- System
- Functionality
- Scenario
- Resource
- Role
- Non-Functional Requirement
- Resource Category
- Role Category
- NF Requirement Category
Resource
Functionality
Category
Category
includes
Scenario
describes
includes
0..
0..
1
1
0..
0..
0..
includes
2..
2..
Functionality
0..
0..
0..
uses
0..
0..
Resource
0..
0..
0..
extends
0..
0..
products
0..
0..
0..
0..
0..
1..
1..
inherits
0..
0..
offers
Non-Functional
Role
System
interacts with
Requirement
0..
0..
0..
0..
0..1
0..1
includes
1..
1..
inherits
Non-Functional
Requirement Category
29Example of Service Virtual Private Network (VPN)
ltltASgtgt
- The service context
- The functional model (part of)
Customisable Service
(from ASrepository)
ltltDomainRolegtgt
ltltServicegtgt
sendsTicketTo
Ticket Center
VPN
(from DomainRoleRepository)
ltltFonctionalitygtgt
performsVPNserviceUsingFTcard
ltltFonctionalitygtgt
ltltASfonctionalitygtgt
performsVPNservice
performs
ltltFonctionalitygtgt
performsVPNserviceUsingPABX
(from CustomizedService)
30Example of Service VPN
. . .
- The detailed functional model (part of)
ltltincludegtgt
ltltSEfonctionalitygtgt
FraudAdding
ltltincludegtgt
(from Fraud)
ltltFonctionalitygtgt
ltltincludegtgt
ServiceAccesUsingFTCard
ltltincludegtgt
ltltSEfonctionalitygtgt
FraudControl
. . .
ltltFonctionalitygtgt
(from Fraud)
performsVPNserviceUsingFTcard
. . .
ltltFonctionalitygtgt
CallNumberProcessing
ltltincludegtgt
ltltincludegtgt
ltltSEfonctionalitygtgt
TransferActivation
ltltincludegtgt
(from Transfer)
ltltFonctionalitygtgt
CallManagement
ltltSEfonctionalitygtgt
TransferExecution
Decomposition of service functionalities until
using ES functionalities
(from Transfer)
. . .
31Example of Service VPN
ltlt SE gtgt
ltlt SE gtgt
Credit
CallEstablishment
(from SErepository)
(from SErepository)
ltlt SE gtgt
ltlt SE gtgt
Authentication
Dial
(from SErepository)
(from SErepository)
ltltServicegtgt
VPN
(from ServiceRepository)
ltlt SE gtgt
ltlt SE gtgt
Transfer
Right
(from SErepository)
(from SErepository)
ltlt SE gtgt
ltlt SE gtgt
Fraud
Linking
(from SErepository)
(from SErepository)
32Outline
- MetYs and its processes
- Mainsprings for MetYs processes definition
- MetYs processes
- MetYs process description
- MetYs for IN telecom services modelling
- Domain analysis
- System analysis
- Design
- Conclusion and future works
- MetYs is a France Telecom trademark.
33From System Analysis and System Architecture
Processes to Design Process (1/3)
- Selection of mapping rules between System
Analysis and SDL meta-models according to
architecture processes results
34From System Analysis and System Architecture
Processes to Design Process (2/3)
- Selection of mapping rules between System
Analysis and SDL meta-models according to
architecture processes results
35Some Transformation Rules
SDL Meta-Model
MetYs Meta-Model
- SDL block type
- UML Class ltltblockgtgt
- SDL process type
- UML Package
- UML Class ltltprocessgtgt
- SDL exported procedure type of the process type
- Operation of the UML ltltprocessgtgt Class
- UML ltltproceduregtgt class with remote tagged
value - For remote procedure call
- UML ltltproceduregtgt class with virtual tagged
value - Inheritance (to take care of existing code)
- Resource Category and Resources
- SDL Package gathering SDL new types
- UML Package
- UML ltltimportgtgt dependency with using packages
- UML ltltvaluegtgt class
36From System Analysis and System Architecture
Processes to Design Process (3/3)
- Selection of mapping rules between System
Analysis and SDL meta-models according to
architecture processes results
37Model Transformation Tool Architecture
SDL Profile
MetYs Profile
UML Tool (Rose/Objecteering)
Z.109 (LDS 2000)
Model Transformation Tool (From MetYs Profile to
SDL Profile)
SDL Tool (ObjectGeode)
XMI
XMI
38SE Transformation (1/3)
MetYs Profile
ltltSEfonctionalitygtgt
ltltSEfonctionalitygtgt
TransferSubscription
TransferUnsubscription
performTransfer ( in entityNumberCharstring, in
condition TransferCondition )
ltltSEfonctionalitygtgt
ParametrageTransfer
subscribeTransfer
unsubscribeTransfer
activateTransfer
customizeTransfer
ltltDomainRolegtgt
ltltSEfonctionalitygtgt
Service
activateTransfer
performTransfer
TransferActivation
ltltSEfonctionalitygtgt
TransferActivation
cancelTransfer
switchOffTransfer
switchOnTransfer
ltltSEfonctionalitygtgt
TransferCancellation
ltltSEfonctionalitygtgt
TransferOff
ltltSEfonctionalitygtgt
TransferOn
39SE Transformation (2/3)
SDL Profile
Transfer
ltltprocessgtgt TransferTransfer
ltltproceduregtgt TransferperformTransfer virtual
Transfer() performTransfer( in
entityNumber Charstring, in
condition TransferCondition) . . .
ltltimportgtgt
performTransfer( in entityNumber
Charstring, in condition
TransferCondition)
ltltproceduregtgt Transfer performTransfer remote
. . .
performTransfer( in entityNumber
Charstring, in condition
TransferCondition)
. . .
40SE Transformation (3/3)
SDL-96 Model
USE SE_Transfer_squeleton PACKAGE
SE_Transfer PROCSES TYPE Transfer
INHERITS Transfer _squeleton REDEFINED
PROCEDURE performTransfer START
REDEFINED TASK HERE Define the
new transition...' STOP
ENDPROCSES TYPE Transfer ENDPACKAGE Transfer
USE ServiceElement USE RD_Transfer PACKAGE
SE_Transfer_squeleton PROCSES TYPE
Transfer_squeleton INHERITS ServiceElement
VIRTUAL EXPORTED PROCEDURE performTransfer
FPAR IN entityNumberCharstring, IN condition
TransferCondition START VIRTUAL TASK
'Transition to redefine...' RETURN
ENDPROCEDURE ... ENDPROCSES TYPE
... REMOTE PROCEDURE performTransfer
nodelay FPAR IN Charstring, IN
TransferCondition ... ENDPACKAGE
Fichier SE_Transfer.prex
Fichier SE_Transfer_squeleton .pr
41Design
- SDL Models coherence is guaranteed by UML models
- All model modifications must be done in UML
models - SDL Models/code must be generated from UML models
- Detail behaviour is designed in SDL language
- UML and SDL models are platform independent
models (PIM) - SDL services models are used in connection with
the SDL Intelligent Network architecture model
(CAS/CT or CAS-CAA API Parlay) to - Simulate service behaviour
- Generate conformity tests
- The IN architecture model may be connected to an
hardware platform (Alcatel)
42Outline
- MetYs and its processes
- Mainsprings for MetYs processes definition
- MetYs processes
- MetYs process description
- MetYs for IN telecom services modelling
- Domain analysis
- System analysis
- Design
- Conclusion and future work
- MetYs is a France Telecom trademark.
43Conclusion and Future Works
- MetYs is a model driven method
- Uses Platform Independent Models (Process
Analysis, Domain Analysis, System Analysis) - Offers flexibility to characterize PIM-PSM
boundary - The SDL Design model is PIM
- It becomes PSM when it is linked to a network
model - MetYs promotes model reuse (especially by using
PIM models) - MetYs uses ISO/SPICE for software process
assessment - Current work
- Adaptation of MetYs processes to model VoiceXML
services - Use the MTRANS transformation rules definition
language to specify meta-models mappings - Future work
- Extend of the MetYs / Process analysis method
to capture process scalability features, and use
MDA principles to build a model for a simulation
tool (SES/Workbench)