23
Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models Sam Malek Naeem Esfahani Daniel A. Menascé João P. Sousa Hassan Gomaa May 19 th 2009 ICSE Workshop on Principles of Engineering Service Oriented Software Systems Supported by the

S elf- A rchitecting S oftware SY stems ( SASSY ) from QoS -Annotated Activity Models

  • Upload
    csilla

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

S elf- A rchitecting S oftware SY stems ( SASSY ) from QoS -Annotated Activity Models. Sam Malek Naeem Esfahani Daniel A. Menascé João P. Sousa Hassan Gomaa May 19 th 2009 ICSE Workshop on Principles of Engineering Service Oriented Software Systems. Supported by the. Outline. - PowerPoint PPT Presentation

Citation preview

Page 1: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models

Sam MalekNaeem Esfahani

Daniel A. MenascéJoão P. Sousa

Hassan Gomaa

May 19th 2009ICSE Workshop on Principles of Engineering Service Oriented Software Systems

Supported by the

Page 2: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Outline

Motivation• Research Objective• SASSY Framework• A Taste of SASSY– Activity-Oriented Language– Architecture Generation– Methodology

• Future Work

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 2

Page 3: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Emerging SOA-Enabled Pervasive Systems• We are witnessing the emergence of a new breed of

software systems

• Driven by the proliferation of smart spaces, portable devices, and advances in wireless network connectivity

• Enabled by service-oriented architectures– Autonomy: decoupling of service providers from consumers– Flexibility: dynamically discovering and binding to services– Standards: alleviating interoperability and integration

challenges

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 3

Page 4: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Key Characteristics• Smart emergency response system

– Smart buildings with sensors– Smart fire stations that monitor the sensors and dispatch fire engines– Smart fire engines wirelessly connected to the rest of the system– Smart hospitals monitoring the situation and dispatch ambulances

• Innately dynamic and unpredictable• Functional requirements are often not completely known at

design-time, and may change at run-time

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 4

Page 5: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Challenges• Software engineers need to rethink the way they

compose such software systems– Existing techniques rely on human reasoning and manual

intervention

• There is a pressing need for– Rapid composition of software systems at run-time based

on the users’ changing needs– Autonomous adaptation of the software system at run-time

to satisfy the system’s functional and QoS requirements

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 5

Page 6: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Outline

• Motivation Research Objective• SASSY Framework• A Taste of SASSY– Activity-Oriented Language– Architecture Generation– Methodology

• Future Work

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 6

Page 7: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

State of the Art• Self-Adaptive Software: Software that is designed to automatically

change its functionality (capabilities) at runtime– 3-layer model from Imperial– ArchStudio from UCI– Rainbow from CMU

• What is known: in the absence of explicit architectural model, the engineer is left to reason about adaptation from memory or from source code– Not feasible!

• Architecture should serve as the primary focus of reasoning• Underlying assumption: software requirements are known at design time• Key question: how can we design self-adaptive software in pervasive

settings, where the system’s requirements are not completely know at design-time?

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 7

Page 8: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

SASSY: Self-Architecting Software SYstems

• Pushes the envelope– From self-adaptive software self-architecting software

• Doman expert, instead of a software engineer, specifies the functional and QoS requirements in an activity-oriented modeling language

• SASSY automatically constructs an optimal architectural model and the corresponding software system that satisfies the user’s requirements

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 8

Page 9: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Somewhat Similar to Lego

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 9

Page 10: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Fiction or Reality: Key Assumptions• Focus on service-oriented systems• Reliance on a domain ontology– Provides precise definition of domain concepts, including

activities and services– Terminology that is commonly understood by domain experts

• Informed users that are trained in the requirements modeling language

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 10

Page 11: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Outline

• Motivation• Research Objective SASSY Framework• A Taste of SASSY– Activity-Oriented Language– Architecture Generation– Methodology

• Future Work

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 11

Page 12: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

SASSY Framework

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 12

Page 13: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Outline

• Motivation• Research Objective• SASSY Framework A Taste of SASSY

Activity-Oriented LanguageArchitecture GenerationMethodology

• Future Work

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 13

Page 14: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Service Activity Schemas (SAS)

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 14

• A small emergency response system modeled in SAS• This shows the high-level requirements for the system• The notion of coordinator is implicit

Page 15: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Internal Details of 911 Dispatcher

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 15

Page 16: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Modeling the QoS Requirements

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 16

Page 17: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Self-Architect the Base Architecture

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 17

• Identify the service providers satisfying the functional requirements• (Near-) Optimally select the best providers with respect to QoS

Page 18: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Self-Architect the Enhanced Architecture

05/19/2009 Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 18

• If the QoS requirements cannot be satisfied using existing providers, apply QoS patterns • In this example, we apply the replication and mediator patterns

Page 19: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Self-Architect Coordinator’s Behavior

05/19/2009 Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 19

Page 20: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Architecture Generation using GReAT

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 20

SAS Meta-model ArchitectureMeta-modelModel Transformation

Specification in GReAT

Refers to

Refers to

SAS to ArchitectureModel Transformer

GReAT Engine

SAS Model Architecture Model

Input Transforms

Transformation Modeling

Transformation Executions

Page 21: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Outline

• Motivation• Research Objective• SASSY Framework• A Taste of SASSY Future Work

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 21

Page 22: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Ongoing Research & Future Work• Developing a repository of QoS

patterns• Fully automating application of

patterns• Utility function elicitation • Optimal architecture selection• Adaptation and evolution

infrastructure

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 22

Page 23: S elf- A rchitecting  S oftware  SY stems  ( SASSY )  from  QoS -Annotated Activity Models

Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models 23

Questions