Resolving Platform Specific Models at runtime using an MDE-based Trading approach

50
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

Transcript of Resolving Platform Specific Models at runtime using an MDE-based Trading approach

Page 1: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 2: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 3: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Context

Software System

Page 4: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Context

Software System Adaptation

Adapted Software System

Page 5: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Context

Software System Adaptation

Adapted Software System

Page 6: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 7: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 8: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Adaptation System

Page 9: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Our goal

Transformation

Header

Map

Header

Map Social

Histogram

Regeneration

Page 10: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Page 11: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Web

Page 12: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Web Mobile devices, Tables

Page 13: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Web Mobile devices, Tables TV

Page 14: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Resolving Platform Specific Models (PSM models)

Page 15: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 16: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 17: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 18: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 19: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 20: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Resolving Platform Specific Models

COTS definition

Page 21: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Transformation

Rege

nera

tion

(Rea

lizat

ion)

Page 22: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Defining the Trading Process

Page 23: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Defining the Trading Process

Trader

Exporter Importer service usage

export service request service

service description

Page 24: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Defining the Trading Process

SemanticTrader

Exporter Importer concrete

components usage

export concrete components

abstract architectural

model concrete architectural

model

Page 25: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Defining the Trading Process

SemanticTrader

Exporter Importer concrete

components usage

export concrete components

abstract architectural

model concrete architectural

model

Page 26: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Defining the Trading Process

Page 27: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Repo

sitor

ies

Su

bser

vice

s

Mod

els

CCR

CC

Defining the Trading Process 1. Selection of candidates

time

Page 28: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Repo

sitor

ies

Su

bser

vice

s

Mod

els

CCR

CC

CA

Defining the Trading Process 2. Calculation of configurations

Page 29: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Defining the Trading Process 2. Calculation of configurations

Page 30: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Repo

sitor

ies

Su

bser

vice

s

Mod

els

CCR

CC

CA

CB

Defining the Trading Process 3. Closure of configurations

Page 31: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Defining the Trading Process 3. Closure of configurations

Page 32: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Repo

sitor

ies

Su

bser

vice

s

Mod

els

CCR

CC

CA

CB

CC

Defining the Trading Process 4. Calculation of compliant configurations

Page 33: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 34: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Repo

sitor

ies

Su

bser

vice

s

Mod

els

CCR

CC

CA

CB

CC

CD

Defining the Trading Process 5. Application of heuristics

Page 35: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Defining the Trading Process 5. Application of heuristics

Page 36: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Repo

sitor

ies

Su

bser

vice

s

Mod

els

CCR

CC

CA

CB

CC

CD

Concrete Architectural

Model

Defining the Trading Process 6. Building the concrete model

Page 37: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Case study: Implementation and Validation

Page 38: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Case study

Abstract

Architectural Model

Page 39: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Case study

Page 40: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Case study

Page 41: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Case study

Page 42: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Case study

Semantic Trader service

Page 43: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Case study

Semantic Trader service

REQUEST Abstract Architectural Model

Page 44: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 45: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 46: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013

Conclusions and Future Work

Page 47: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 48: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 49: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

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

Page 50: Resolving Platform Specific Models at runtime using an MDE-based Trading approach

4th International Workshop on Information Systems in Distributed Environment Graz, Austria, 13th September 2013 50

Contraportada