Resolving Platform Specific Models at runtime using an MDE-based Trading approach
1. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Resolving Platform Specific Models at runtime
using an MDE-based Trading approach
Javier Criado, Luis Iribarne, Nicolás Padilla
Applied Computing Group (TIC-211), University of Almería, Spain
4th International Workshop on Information Systems in Distributed Environment (ISDE’2013)
Graz, Austria, 13th September 2013
TIN2010-15588 Project
2. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Outline
• Context
• Our goal
• Resolving Platform Specific Models
• Defining the Trading Process
• Case study: Implementation and validation
• Conclusions and future work
3. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Context
Software
System
4. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Context
Software
System
Adaptation
Adapted
Software
System
5. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Context
Software
System
Adaptation
Adapted
Software
System
6. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Context
Adaptation
Initial
Component-based
Software System
Adapted
Component-based
Software System
7. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Context
Adaptation
Initial
Component-based
User Interface
Adapted
Component-based
User Interface
8. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Adaptation
System
9. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Our goal
Transformation
Header
Map
Header
Map
Social
Histogram
Regeneration
10. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
11. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Web
12. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Web Mobile devices,
Tables
13. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Web Mobile devices,
Tables TV
14. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Resolving Platform Specific Models
(PSM models)
15. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Resolving Platform Specific Models
PIM
PSM
CIM
MDE
Tasks and
concepts
Code Final GUI1
Model-driven methodology for GUI adaptation at runtime
Abstract
Arch. Model1
Concrete
Arch. Model1
Semantic
Trader
16. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Resolving Platform Specific Models
PIM
PSM
CIM
MDE
Tasks and
concepts
Code Final GUI1
Model-driven methodology for GUI adaptation at runtime
Abstract
Arch. Model1
Model
Transformation
Abstract
Arch. Model2
Concrete
Arch. Model1
Semantic
Trader
17. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Resolving Platform Specific Models
PIM
PSM
CIM
MDE
Tasks and
concepts
Code Final GUI1
Concrete
Arch. Model2
Final GUI2
Model-driven methodology for GUI adaptation at runtime
Abstract
Arch. Model1
Model
Transformation
Abstract
Arch. Model2
Concrete
Arch. Model1
Semantic
Trader
Semantic
Trader
18. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Resolving Platform Specific Models
PIM
PSM
CIM
MDE
Tasks and
concepts
Code Final GUI1
Concrete
Arch. Model2
Final GUI2
Model-driven methodology for GUI adaptation at runtime
Abstract
Arch. Model1
Model
Transformation
Abstract
Arch. Model2
Concrete
Arch. Model1
Semantic
Trader
Semantic
Trader
Concrete
Arch. Model3
Final GUI3
Model
Transformation
Abstract
Arch. Model3
Semantic
Trader
19. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Resolving Platform Specific Models
PIM
PSM
Concrete
Architectural
Model
Abstract
Architectural
Model
20. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Resolving Platform Specific Models
COTS
definition
21. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Transformation
Regeneration(Realization)
22. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
23. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
Trader
ExporterImporter
service usage
export service
request service
service
description
24. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
SemanticTrader
ExporterImporter
concrete
components
usage
export concrete
components
abstract
architectural
model
concrete
architectural
model
25. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
SemanticTrader
ExporterImporter
concrete
components
usage
export concrete
components
abstract
architectural
model
concrete
architectural
model
26. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
27. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
concrete
component
specifications
candidates
1
Selection of
candidates
Abstract
Architectural
Model
Structure
stacks
RepositoriesSubservicesModels
CCR CC
Defining the Trading Process
1. Selection of candidates
time
28. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
concrete
component
specifications
candidates configurations
1
Selection of
candidates
2
Calculation of
configurations
Abstract
Architectural
Model
time
Structure
stacks
RepositoriesSubservicesModels
CCR CC CA
Defining the Trading Process
2. Calculation of configurations
29. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
2. Calculation of configurations
30. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
concrete
component
specifications
candidates configurations
closed
configurations
1
Selection of
candidates
2
Calculation of
configurations
3
Closure of
configurations
Abstract
Architectural
Model
time
Structure
stacks
RepositoriesSubservicesModels
CCR CC CA CB
Defining the Trading Process
3. Closure of configurations
31. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
3. Closure of configurations
32. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
concrete
component
specifications
candidates configurations
closed
configurations
compliant
configurations
1
Selection of
candidates
2
Calculation of
configurations
3
Closure of
configurations
4
Calculation of
compliant conf.
Abstract
Architectural
Model
time
Structure
stacks
RepositoriesSubservicesModels
CCR CC CA CB CC
Defining the Trading Process
4. Calculation of compliant configurations
33. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
4. Calculation of compliant configurations
abstract definition
configuration 1
configuration 2
34. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
concrete
component
specifications
candidates configurations
closed
configurations
compliant
configurations
scored
configurations
1
Selection of
candidates
2
Calculation of
configurations
3
Closure of
configurations
4
Calculation of
compliant conf.
5
Application of
heuristics
Abstract
Architectural
Model
time
Structure
stacks
RepositoriesSubservicesModels
CCR CC CA CB CC CD
Defining the Trading Process
5. Application of heuristics
35. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Defining the Trading Process
5. Application of heuristics
36. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
concrete
component
specifications
candidates configurations
closed
configurations
compliant
configurations
scored
configurations
1
Selection of
candidates
2
Calculation of
configurations
3
Closure of
configurations
4
Calculation of
compliant conf.
5
Application of
heuristics
6
Building the
concrete model
Abstract
Architectural
Model
time
Structure
stacks
RepositoriesSubservicesModels
CCR CC CA CB CC CD
Concrete
Architectural
Model
Defining the Trading Process
6. Building the concrete model
37. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study:
Implementation and Validation
38. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study
Abstract
Architectural Model
39. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study
40. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study
41. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study
42. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study
Semantic Trader
service
43. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study
Semantic Trader
service
REQUEST
Abstract Architectural Model
44. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study
Semantic Trader
service
REQUEST
Abstract Architectural Model
RESPONSE
Concrete Architectural Model
45. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Case study
Semantic Trader
service
REQUEST
Abstract Architectural Model
RESPONSE
Concrete Architectural Model
WSDL
SOAP
46. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Conclusions
and Future Work
47. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
• Methodology for adapting component-based software systems at
runtime
• Architectural models in two levels:
– Abstract (PIM perspertive)
– Concrete (PSM perspective)
• Resolve PSM models from PIM definition at runtime
• Using a trading process for realizing the concrete architectural
models (PSM) in six stages:
– Selection of candidate components
– Calculation of configurations
– Closure of configurations
– Calculation of compliant configurations
– Application of heuristics
– Building the concrete architectural model
Conclusions
48. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
• Generates the configuration of concrete components that best
meets the abstract definition
• Provides the possibility of generating different configurations of
sofware architectures based on the same abstract definition
• Uses information about the meaning given by the functional and
non-functional properties of the components: Semantic Trader
Conclusions
49. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 2013
Future Work
• We assume that at least one valid configuration will be resolved
• Alternative resolution mechanism if there is not resolved a valid
configuration
• Resolution of mismatches (e.g. incompatibilies of components)
• Implement searching algorithms (calculation of configurations)
based on heuristics to perform tree pruning
50. 4th International Workshop on Information Systems in Distributed Environment
Graz, Austria, 13th September 201350
Contraportada