Professional Documents
Culture Documents
Table of Contents
Context Problem Proposal
Table of Contents
Context Problem Proposal
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
Quality attributes
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
Default Service
Self-Adaptivity
The Open Group Service Candidate Services Integration Maturity Model Different quality attributes (OSIMM) Level 7 Improve the performance and reliability of the system
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); }
Table of Contents
Context Problem Proposal
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
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.
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.
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.
Frascati
Self-Adaptive Implementation
14
Proposal
Architectural Model
Service Oriented Architecture Model
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
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.
Frascati
Self-Adaptive Implementation
17
Proposal
Adaptation Rules (MentaDSL)
Menta MM
Behavior, quality attributes, metrics
conformsTo
MentaDSL
ECA-QS
MentaDSL Engine
18
Proposal
Example of MentaDSL
Client requesting some functionality includeScenario qualScePerformance includeScenario qualSceAvailability
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.
Frascati
Self-Adaptive Implementation
20
Proposal
DataCredito System
Blacklist System
Default Service
S2
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.
Frascati
Self-Adaptive Implementation
22
Proposal
Architectural Self-Adaptive Model OSIMM 7
Architecture Model Adaptation Rules Model
FraSCAti
Code Generation
Generated Program
Table of Contents
Context Problem Proposal
24
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
26
Working Agenda
MentaDSL definition
Mapping between MentaDSL and MentaMM Transformations between MentaMM and ArchivolMM
Table of Contents
Context Problem Proposal
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