architectural models in a quality scenario-based analysis for self-adapting systems
Post on 14-Apr-2018
216 Views
Preview:
TRANSCRIPT
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
1/28
MENTA
Boris Rainiero Prez G.
Architectural Models in a Quality Scenario-
based Analysis for Self-Adapting Systems
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
2/28
Table of Contents
Context
Problem
Proposal Experimentation & Validation
Working Agenda
Questions& Suggestions
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
3/28
Table of Contents
Context
Problem
Proposal Experimentation & Validation
Working Agenda
Questions & Suggestions
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
4/28
4
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
What are their differences?Quality attributesDuring design stage Ichoose the best one
Not always a guarantee
Some services can fail in execution
There are critical process which can not be stopped
Ok, but
OMG. What should
be the solution?
The system itself must find the best service and do
the binding without human interventionideally
Context
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
5/28
5
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
Inmobiliaria de los Alpes
Context
Customer
Review
Acceptance of
Property
Property
Verification
Notification to
Offices
Property Register
Registration
Request
Study Case
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
6/28
6
Self-Adaptivity(Quality Attributes based)
Improve the performance and
reliability of the system
Automatically and autonomously adapt
itself to respond to evolving internal and
external conditions without requesting any
intervention of the user
Context
Customer Review
DataCredito System Blacklist System
DataCredito
System Service
Default Service
DataCredito
System Service
DataCredito
System Service
Candidate Services
Different quality attributesWhos the best?
The Open Group Service
Integration Maturity Model
(OSIMM) Level 7
Inmobiliaria de los Alpes
Study Case
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
7/28
7
Code-based implementation
Database-based implementation
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);
}
How to implement Self-Adaptability?
Traditional Approaches
Context
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
8/28
Table of Contents
Context
Problem
Proposal Experimentation & Validation
Working Agenda
Questions & Suggestions
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
9/28
9
These traditional approaches have two main limitations, and they are exposed here:
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.
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.
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.
Problem
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
10/28
Table of Contents
Context
Problem
Proposal Experimentation & Validation
Working Agenda
Questions & Suggestions
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
11/28
11
Architectural Model
Adaptation Rules
(MentaDSL)
Architectural Self-Adaptive
Model
Frascati
Self-Adaptive
Implementation
The proposal is a Model-Driven solution to enable the find and binding of the best service available supportedby self-adaptive features in SOA systems.
2. ECA Rules are not easy to neither understand nor read.
1. A self-adaptive operation can be made but how to control it to avoid a
violation over a quality attribute?
Proposal
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
12/28
12
Archivol
Archivol is a research project focused on the study of software architecture and its relationship with
software development processes.
Key problems 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
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.
Proposal
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
13/28
13
Proposal
Architectural Model
Adaptation Rules
(MentaDSL)
Architectural Self-Adaptive
Model
Frascati
Self-Adaptive
Implementation
The proposal is a Model-Driven solution to enable the find and binding of the best service available supportedby self-adaptive features in SOA systems.
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
14/28
14
Architectural Model
Archivol
Service Oriented Architecture Model
Service Catalog, Quality
Attributes, Quality Scenarios
Proposal
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
15/28
15
Architectural Model - Example
Proposal
Customer Review
DataCredito System Blacklist System
DataCredito
System Service
DataCredito
System Service
DataCredito
System Service
Default Service
Candidate Services
Sn = DataCredito System Service n
S1
S2
S3
Archivol
Component S1
Component Type = SERVICEPROVIDER
Property Type = RESPONSETIME
Property Value = 1000 ms
Interface = iClinton
Component S2Component 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
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
16/28
16
Proposal
Architectural Model
Adaptation Rules
(MentaDSL)
Architectural Self-Adaptive
Model
Frascati
Self-Adaptive
Implementation
The proposal is a Model-Driven solution to enable the find and binding of the best service available supportedby self-adaptive features in SOA systems.
1
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
17/28
17
Adaptation Rules (MentaDSL)
Behavior, quality
attributes, metrics
ECA-QS
Menta MM
conformsTo
MentaDSL
Engine
MentaDSL
Quality Scenario-based
In other words, in response to this event, evaluate the condition, based
on quality scenarios and, take the defined action
Rules Model
Proposal
18
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
18/28
18
Example of MentaDSL
Proposal
includeScenario qualScePerformance
includeScenario qualSceAvailability
rule {ruleForConsumingClinton}
for consumer {Verify Service}
consuming interface {iClinton}
fulfilling qualityScenarios {qualScePerformance,
qualSceAvailability};
rule {ruleForConsumingDataCredito}
for consumer {Verify Service}
consuming interface {iDataCredito}
fulfilling qualityScenarios {qualSceAvailability};
violationScenario {violationTest_1}
rules {ruleForConsumingDataCredito,
ruleForConsumingClinton, ruleForConsumingDataCredito};
Quality scenarios defined during design stage
using Archivol
Rule name
Client requesting
some functionality
Consuming this
exposed interface
Fulfilling this
quality scenarios
To Check how the system will work
To Check that the system will behave as it is expected
To see different candidate architectures
19
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
19/28
19
Architectural Model
Adaptation Rules
(MentaDSL)
Architectural Self-Adaptive
Model
Frascati
Self-Adaptive
Implementation
Proposal
The proposal is a Model-Driven solution to enable the find and binding of the best service available supportedby self-adaptive features in SOA systems.
20
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
20/28
20
Architectural Self-Adaptive Model
Architecture Model Adaptation Rules
Model
Several models conforms to
Archivol MM and represented
using Archivol_Candidate
package
Proposal
Violation Scenarios
Customer Review
DataCredito System Blacklist System
DataCredito
System Service
DataCreditoSystem Service
DataCredito
System Service
Default Service
Candidate Services
S1
S2
S3
violationScenario {violationTest_1}
rules {ruleForConsumingDataCredit, ruleForConsumingClinton, ruleForConsumingDataCredito};
21
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
21/28
21
Architectural Model
Adaptation Rules
(MentaDSL)
Architectural Self-Adaptive
Model
Frascati
Self-Adaptive
Implementation
Proposal
The proposal is a Model-Driven solution to enable the find and binding of the best service available supportedby self-adaptive features in SOA systems.
22
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
22/28
22
Architectural Self-Adaptive Model OSIMM 7
Architecture Model Adaptation Rules
Model
Self-Adaptive Models ready for
transformation Internal useFraSCAti
Generated
ProgramCode Generation
[1] Architecture Tradeoff Analysis Method SM
Proposal
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
23/28
Table of Contents
Context
Problem
Proposal Experimentation & Validation
Working Agenda
Questions & Suggestions
24
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
24/28
24
Experimentation & Validation
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.
CONSIDERATIONS
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
TEST EXECUTION
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.
WHAT DO WE WANT TO PROVE?
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
25/28
Table of Contents
Context
Problem
Proposal Experimentation & Validation
Working Agenda
Questions & Suggestions
26
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
26/28
26
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
Working Agenda
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
27/28
Table of Contents
Context
Problem
Proposal Experimentation & Validation
Working Agenda
Questions & Suggestions
28
-
7/29/2019 Architectural Models in a Quality Scenario-based Analysis for Self-Adapting Systems
28/28
28
Carlos Cetina, Pau Giner, Joan Fons & Vicente Pelechano. A Model-Driven
Approach for Developing Self-Adaptive Pervasive Systems. Models at run-
time 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
Related Work
top related