A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems
-
Upload
christopher-monroe -
Category
Documents
-
view
26 -
download
1
description
Transcript of A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems
A Model-Driven Framework for Architectural Evaluation of Mobile
Software Systems
George [email protected]
Dr. Nenad Medvidovic
Center for Software EngineeringUniversity of Southern California
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.
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.
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)
Example Model
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
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)
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.