You are on page 1of 28

MENTA

Architectural Models in a Quality Scenariobased Analysis for Self-Adapting Systems

Boris Rainiero Prez G.

Table of Contents
Context Problem Proposal

Experimentation & Validation


Working Agenda Questions & Suggestions

Table of Contents
Context Problem Proposal

Experimentation & Validation


Working Agenda Questions & Suggestions

Context
Service-Oriented Architecture (SOA)
Successful architectural styles used for the development of software systems SOA separates functions into distinct services Services accessible over a network in order to allow users to combine and reuse them to support business process One or more services can offer the same or similar functionality to support a business activity

During design stage I choose the best one


Ok, but

Quality attributes

What are their differences?

Not always a guarantee Some services can fail in execution There are critical process which can not be stopped OMG. What should be the solution?

The system itself must find the best service and do the binding without human intervention

ideally

Context
Inmobiliaria de los Alpes

Study Case

It is a specialized entity that helps to its clients to buy, to sell and to rent the real estate properties, like houses, apartments and offices. Three main business process: Property register Property to rent Liquidation of payroll and commissions

Property Register
Registration Request Customer Review Property Verification Acceptance of Property Notification to Offices

Context
Inmobiliaria de los Alpes

Study Case

Customer Review Automatically and autonomously adapt itself to respond to evolving internal and external conditions without requesting any intervention of the user DataCredito System Blacklist System

DataCredito System Service

Default Service

Self-Adaptivity

(Quality Attributes based)


DataCredito System Service Whos the best?

The Open Group Service Candidate Services Integration Maturity Model Different quality attributes (OSIMM) Level 7 Improve the performance and reliability of the system

DataCredito System Service

Context
How to implement Self-Adaptability?
Traditional Approaches
A rule consists of three parts: The event part specifies the signal that triggers the invocation of the rule The condition part is a logical test that, if satisfied or evaluates to true, causes the action to be carried out The action part consists of updates or invocations on the local data
if ( ( A.GetClientNumber() > 100 ) && ( CPU.Available() >= 0.1 && RAM.Available() >= 2 ) ) { A.SetInstanceNumber(120); }

Code-based implementation Database-based implementation

Table of Contents
Context Problem Proposal

Experimentation & Validation


Working Agenda Questions & Suggestions

Problem
These traditional approaches have two main limitations, and they are exposed here:

A self-adaptive operation can be made but how to control it to avoid a violation over a quality attribute? For example, a new service with lower response time but without a security scheme.

Self-adaptation mechanisms are not easy to neither understand nor read. How to provide maintainability to them? Rules are of general purpose. Do not take in consideration quality attributes.

How to provide a reliable way to run the tests? Trial an error for every rule or every architectural decision? This is an inefficient option. Besides, there's no guarantee of success.

Table of Contents
Context Problem Proposal

Experimentation & Validation


Working Agenda Questions & Suggestions

11

Proposal
The proposal is a Model-Driven solution to enable the find and binding of the best service available supported by self-adaptive features in SOA systems.
1.
2.

A self-adaptive operation can be made but how to control it to avoid a violation over a quality attribute?
ECA Rules are not easy to neither understand nor read.

Architectural Model Architectural Self-Adaptive Model Adaptation Rules (MentaDSL)

Frascati

Self-Adaptive Implementation

12

Proposal
Archivol
Archivol is a research project focused on the study of software architecture and its relationship with software development processes.

Key problems FraSCAti

Software architecture are used only for documenting purposes Software architecture doesn't evolve with software at the same pace Visualizing and understanding architecture models is a complex task

FraSCAti is an open-source Java-based implementation of the Service Component Architecture (SCA) standard. The FraSCAti platform enables the dynamic introspection and modification of an SCA application. This feature is of particular importance for designing and implementing agile SCA applications, such as context-aware applications and autonomic applications.

openArchitectureWare (oAW)
oAW is a modular MDA/MDD generator framework implemented in Java(TM). It supports parsing of arbitrary models, and a language family to check and transform models as well as generate code based on them. Supporting editors are based on the Eclipse platform. At the core there is a workflow engine allowing the definition of generator/transformation workflows. A number of prebuilt workflow components can be used for reading and instantiating models, checking them for constraint violations, transforming them into other models and then finally, for generating code.

13

Proposal
The proposal is a Model-Driven solution to enable the find and binding of the best service available supported by self-adaptive features in SOA systems.

Architectural Model Architectural Self-Adaptive Model Adaptation Rules (MentaDSL)

Frascati

Self-Adaptive Implementation

14

Proposal
Architectural Model
Service Oriented Architecture Model

Service Catalog, Quality Attributes, Quality Scenarios

Archivol

15

Proposal
Architectural Model - Example
Archivol
Customer Review
Component S1 Component Type = SERVICEPROVIDER Property Type = RESPONSETIME Property Value = 1000 ms Interface = iClinton Component S2 Component Type = SERVICEPROVIDER Property Type = RESPONSETIME Property Value = 900 ms Interface = iClinton Component S3 Component Type = SERVICEPROVIDER Property Type = RESPONSETIME Property Value = 1100 ms Interface = iClinton Quality Scenario qualScePerformance response = RESPONSETIME responseMeasure measureUnit = miliseconds minValue = 0 maxValue = 1500 Sn = DataCredito System Service n

DataCredito System

Blacklist System

S1
DataCredito System Service

Default Service
S2

DataCredito System Service

S3
DataCredito System Service

Candidate Services

16

Proposal
The proposal is a Model-Driven solution to enable the find and binding of the best service available supported by self-adaptive features in SOA systems.

Architectural Model Architectural Self-Adaptive Model Adaptation Rules (MentaDSL)

Frascati

Self-Adaptive Implementation

17

Proposal
Adaptation Rules (MentaDSL)
Menta MM
Behavior, quality attributes, metrics
conformsTo

MentaDSL

ECA-QS

MentaDSL Engine

Rules Model Quality Scenario-based


In other words, in response to this event, evaluate the condition, based on quality scenarios and, take the defined action

18

Proposal
Example of MentaDSL
Client requesting some functionality includeScenario qualScePerformance includeScenario qualSceAvailability

Quality scenarios defined during design stage using Archivol

rule {ruleForConsumingClinton} Rule name for consumer {Verify Service} consuming interface {iClinton} fulfilling qualityScenarios {qualScePerformance, qualSceAvailability}; rule {ruleForConsumingDataCredito} for consumer {Verify Service} consuming interface {iDataCredito} fulfilling qualityScenarios {qualSceAvailability}; Fulfilling this quality scenarios violationScenario {violationTest_1} rules {ruleForConsumingDataCredito, ruleForConsumingClinton, ruleForConsumingDataCredito}; Consuming this exposed interface

To Check how the system will work To Check that the system will behave as it is expected To see different candidate architectures

19

Proposal
The proposal is a Model-Driven solution to enable the find and binding of the best service available supported by self-adaptive features in SOA systems.

Architectural Model Architectural Self-Adaptive Model Adaptation Rules (MentaDSL)

Frascati

Self-Adaptive Implementation

20

Proposal

violationScenario {violationTest_1} rules {ruleForConsumingDataCredit, ruleForConsumingClinton, ruleForConsumingDataCredito};

Architectural Self-Adaptive Model


Architecture Model
Adaptation Rules Model Customer Review

DataCredito System

Blacklist System

S1 Violation Scenarios DataCredito System Service

Default Service
S2

Several models conforms to Archivol MM and represented using Archivol_Candidate package

DataCredito System Service

S3 DataCredito System Service

Candidate Services

21

Proposal
The proposal is a Model-Driven solution to enable the find and binding of the best service available supported by self-adaptive features in SOA systems.

Architectural Model Architectural Self-Adaptive Model Adaptation Rules (MentaDSL)

Frascati

Self-Adaptive Implementation

22

Proposal
Architectural Self-Adaptive Model OSIMM 7
Architecture Model Adaptation Rules Model

FraSCAti

Self-Adaptive Models ready for transformation Internal use

Code Generation

Generated Program

[1] Architecture Tradeoff Analysis Method SM

Table of Contents
Context Problem Proposal

Experimentation & Validation


Working Agenda Questions & Suggestions

24

Experimentation & Validation


WHAT DO WE WANT TO PROVE? We want to demonstrate that our proposal of self healing based on quality scenarios, is effective to select the best service available our of a predefined pool, to supply the user defined quality requirements and to improve the performance, availability and confidence of a given system.

CONSIDERATIONS ECA System / Exception The list of available services will be handled in a static way. It could be a file or a List held in memory. It could also offer an entry sorting that can be useful to enhance the process. If the validation fails, another service can be taking for the services list. MENTA System The service definition is done during the systems modeling stage.

TEST EXECUTION Consists of: Executing the selectd business process. The problems in the services should be introduced in a controlled way to be able to extract statistical data. Test duration: 33 request per minute, within a 2 hours frame. Number of tests: 5

Table of Contents
Context Problem Proposal

Experimentation & Validation


Working Agenda Questions & Suggestions

26

Working Agenda

MentaDSL definition
Mapping between MentaDSL and MentaMM Transformations between MentaMM and ArchivolMM

Generation of candidate architectures


Generation of the internal model ready for transformation Generation of the application code in FraSCAti

Validation and experimentation


Thesis document

Table of Contents
Context Problem Proposal

Experimentation & Validation


Working Agenda Questions & Suggestions

28

Related Work
Carlos Cetina, Pau Giner, Joan Fons & Vicente Pelechano. A Model-Driven Approach for Developing Self-Adaptive Pervasive Systems. Models at runtime 08 Workshop in conjunction with MODELS (Models@run-time). Touluse, France. 2008 Franck Chauvel and Olivier Barais and Jean-marc Jzquel and Isabelle Borne and Universit De Rennes. A Model-Driven Process for Self-Adaptive Software. In 4th European Congress ERTS Embedded Real-Time Software. 2008 Adriana Vargas Cetina e Ismael Meja Useche. "Una Aproximacin Basada en Modelos y Aspectos para Expresar Adaptaciones Dinmicas en Arquitecturas Orientadas a Servicios. Caso Tongo". Master Thesis. 2008