architectural models in a quality scenario-based analysis for self-adapting systems

Upload: borisperezg

Post on 14-Apr-2018

216 views

Category:

Documents


0 download

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