8
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards [email protected] Dr. Nenad Medvidovic [email protected] Center for Software Engineering University of Southern California

A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards [email protected] Dr. Nenad Medvidovic [email protected] Center

  • View
    222

  • Download
    3

Embed Size (px)

Citation preview

Page 1: A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards gedwards@usc.edu Dr. Nenad Medvidovic neno@usc.edu Center

A Model-Driven Framework for Architectural Evaluation of Mobile

Software Systems

George [email protected]

Dr. Nenad Medvidovic

[email protected]

Center for Software EngineeringUniversity of Southern California

Page 2: A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards gedwards@usc.edu Dr. Nenad Medvidovic neno@usc.edu Center

Project Overview• Motivation

– Provide a “tailorable infrastructure” for evaluating, refining, and validating software architectures for mobile software systems.

• Investigate the consequences of architectural decisions.• Weigh architectural trade-offs.• Validate the achievement of quality attributes.

• Approach– Develop a software architecture modeling and simulation tool

chain that leverages the Model-Driven Engineering (MDE) approach to system design.

• Focus on concerns of particular relevance to mobile software systems.– Implement a mapping between architectural constructs and

simulation constructs.• Modeling language based on xADL, an extensible architecture

description language.• Simulators based on adevs, a discrete event simulation engine.

Page 3: A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards gedwards@usc.edu Dr. Nenad Medvidovic neno@usc.edu Center

The Extensible Modeling and Simulation Toolchain• xADL extensions are implemented as GME metamodels.

– Define domain-specific modeling concepts, including elements, relationships, views, and constraints.

• Software architecture models are created in GME.– Provides an intuitive mechanism for building complex models.– Automatically enforces the language rules.

• Plug-ins interpret, transform and analyze architecture models.– Generate discrete-event simulations that provide data about a system’s run-

time characteristics.

Page 4: A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards gedwards@usc.edu Dr. Nenad Medvidovic neno@usc.edu Center

xADL Extensions• DATA

– Includes data types and sizes.

• BEHAVIOR– Includes tasks and

states.

• POWER

– Includes computational and communication energy costs.

• RELIABILITY

– Includes failure probabilities and recovery times.

PowerxADL Metamodel(includes Structure, Data, and

Power extensions)

Page 5: A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards gedwards@usc.edu Dr. Nenad Medvidovic neno@usc.edu Center

Example Model

Page 6: A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards gedwards@usc.edu Dr. Nenad Medvidovic neno@usc.edu Center

The xADL-to-adevs Transformation

• Transforming architecture models into discrete event simulations allows run-time properties to be observed and quantified.– Achieved via xADL-to-adevs mapping.– GME plug-ins implement the mapping and instrument

the generated code to record the appropriate measurements.

xADL Type adevs Type

Architecture, Subarchitecture Static digraph

Component, Connector Atomic model

Interface Port

Link, Interface Mapping Couple

Datum Object

Page 7: A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards gedwards@usc.edu Dr. Nenad Medvidovic neno@usc.edu Center

Discrete Event Simulators• Latency

– Requires Structure and Types, Data, and Behavior extensions.

– Provides, for each required interface, the response time for each invocation.

• Reliability– Requires Structure and Types,

Data, Behavior, and Reliability extensions.

– Provides the time and type of failures and the recovery time.

• Power Consumption– Requires Structure and Types,

Data, Behavior, and Power extensions.

– Provides the energy consumption of each host (i.e., remaining battery power) over time.

Host A (iPAQ) Battery Power

22000

22500

23000

23500

24000

24500

0 100000 200000 300000 400000 500000 600000

Time (ms)

Rem

ain

ing

En

erg

y (m

J)

Host B (IBM Thinkpad) Battery Power

158000

160000

162000

164000

166000

168000

170000

172000

0 100000 200000 300000 400000 500000 600000

Time (ms)

Rem

ain

ing

En

erg

y (m

J)

Host C (IBM Thinkpad) Battery Power

160000

162000

164000

166000

168000

170000

172000

0 100000 200000 300000 400000 500000 600000

Time (ms)

Rem

ain

ing

En

erg

y (m

J)

Page 8: A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards gedwards@usc.edu Dr. Nenad Medvidovic neno@usc.edu Center

Ongoing and Future Work• Improve accuracy of simulation measurements.

– e.g., overlay software models on a high-fidelity wireless network simulator.

• Enhance the DATA modeling extension.– e.g., provide support for A/V streams.

• Enhance the BEHAVIOR modeling extension.– e.g., provide support for threading and queuing.

• Validate simulation results through comparison to a real system.

• Create integrated simulations consisting of both simulated and real (operational) components.

– e.g., “test harnesses” for implemented components.• Implement automatic conversion between xADL

XML schemas and GME metamodels.