ModelDriven Program Transformation of a Large Avionics Application - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

ModelDriven Program Transformation of a Large Avionics Application

Description:

Aniruddha Gokhale, Sandeep Neema, Feng Shi, Ted Bapty ... (e.g., F-18 E/F, Harrier, UCAV) under development since 1995. CORBA event-based systems ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 24
Provided by: jeff92
Category:

less

Transcript and Presenter's Notes

Title: ModelDriven Program Transformation of a Large Avionics Application


1
Model-Driven Program Transformation of a Large
Avionics Application
GPCE 2004 Vancouver, BC
  • Jeff Gray, Jing Zhang, Yuehua Lin, Suman
    Roychoudhury, Hui Wu, Rajesh Sudarsan, Aniruddha
    Gokhale, Sandeep Neema, Feng Shi, Ted Bapty

Dept. Computer and Information Sciences -
University of Alabama at Birmingham Institute for
Software Integrated Systems Vanderbilt
University
2
Outline of Presentation
Key Characteristics
Legacy Evolution
Model-Driven
Software Transformation
3
Two-Dimensions of Transformation/Translation
  • Horizontal transformation
  • Transformation within the same level of
    abstraction
  • E.g., Model transformation, code refactoring
  • Vertical translation
  • Translation, or synthesis, between layers of
    abstraction
  • E.g., Model interpreters, reverse engineering

ComputePositionC
ComputePositionwith LockingC
Vertical transformation needed!!!
4
Evolution of Legacy Models and Code
5
Bold Stroke Product Line
  • Background Context
  • Mission-control software for Boeing military
    aircraft (e.g., F-18 E/F, Harrier, UCAV) under
    development since 1995
  • CORBA event-based systems
  • Thousands of components implemented in over a
    million lines of C code
  • Key Challenges
  • Difficult to evolve the underlying source
    representation to address new requirements
    impossible to determine, a priori, all of the
    future adaptation requests
  • Difficult to migrate the source representation to
    newer component models

6
Embedded Systems Modeling Language
  • ESML
  • Developed at Vanderbilt/ISIS as a DSML for GME
    Large models of Bold Stroke in ESML
  • Multiple views of an embedded system Components
    Component Interaction Component Configuration
  • Captures the interactions among components via an
    event channel. System timers and their
    frequencies are also specified
  • Integration with other tools to provide
    simulation and model checking.
  • Model interpreters generate various artifacts
    from models (e.g., XML configuration files that
    are loaded by Bold Stroke at startup)

7
Locking in a Bold Stroke Component
8
Problems with Macro Customization
  • General Problem
  • Anticipated adaptation is not always feasible
  • Consequences
  • New components Developer of new components must
    remember to add the appropriate extensions in
    specific places
  • New concerns Manual adaptation typically needed
    in many components to add new adaptation points
    to address new requirements
  • Null values are required for those
    configurations not needing the adaptation

9
Our Approach
  • General Idea
  • Use aspects to insert configuration concerns
    (e.g., external/internal locking) as an
    alternative to explicit placement
  • From ESML models, generate the appropriate
    transformations where needed
  • Problem
  • How to parse and execute transformations on
    legacy languages?
  • Solution
  • Utilize a mature program transformation engine

10
Design Maintenance System
DMS
Parse
Analyze
p0
Source Codes
Analysis
and
Rules
Enhancement
DMS
Transform
Format
Tool Definition
or
Analysis Rules Transformation Rules Sequencing
(Metaprograms)
Migration
Syntax (Parsing PrettyPrinting), Symbol Table
ConstructionAvailable C, C, Java, Delphi,
COBOL, JavaScript, many others.
Language Definitions
11
Justification of the tools used
  • Why Models?
  • Ability to generate multiple artifacts from the
    same models, which can be fed into tools that
    offer added value (e.g., model checkers and
    simulators)
  • Shield domain expert from lower-level
    transformations
  • Why DMS?
  • Past experience and collaboration with vendor
  • Provides a mature C parser and transformation
  • Our research focus is not in the business of
    developing lexers/parsers

12
Model-Driven Program Transformation
Updated models
Interpreter
DMS Transformation Rules
  • Ensures causal connection between model changes
    and the underlying source code of the legacy
    system
  • Large-scale adaptation across multiple source
    files that are driven by minimal changes to the
    model properties
  • Model interpreters generate transformation rules
    to modify source

TransformedLegacy Source
13
Case Study A black box data recorder
  • Requirement Record the state information of the
    aircraft according to polices defined in a model
  • Under different stages of development, a concern
    may need to be adjusted based on different
    contextse.g., testing on the ground vs.
    in-flight recording
  • Ability to rapidly explore design alternatives
    representing different policies

14
Program Transformation to Add LogOnExit (DMS)
15
Transformed Code fragment
16
Another Challenge Crosscutting Constraints in
Real-Time/Embedded Models
Crosscutting Constraints
  • Challenge Crosscutting in Models
  • Base models become constrained to capture a
    particular design
  • Concerns that are related to some global property
    are dispersed across the model

A
B
F
c
d
e
B
B
c
d
e
c
d
e
Changeability???
17
Model Transformation to Add LogOnExit (C-SAW)
18
Two-Level Aspect Weaving
  • Model weaving to explore design alternatives more
    rapidly
  • Design decisions crosscut model hierarchy
  • Difficult to change models to new configuration
  • Design decisions captured as higher level policy
    strategies and weaved into models
  • Model driven program transformation
  • Ensures causal connection between model changes
    and represented source code of legacy system
  • Assists in legacy evolution from new properties
    specified in models
  • Model interpreters generate transformation rules
    to modify source
  • Video Bold Stroke Application
  • Apply original Bold Stroke C source code and
    generated transformation rules to DMS result is
    a transformed version of Bold Stroke that is
    consistent with the model specification

1
//show("Data fields exist. Add two concurrency
atoms.") //add the first concurrency
atom concurrencyAtom1 addAtom("Concurrency",
"InternalLock") concurrencyAtom1.setAttribute("En
able", "1")// "1" is true, "0" is
false concurrencyAtom1.setAttribute("LockType",
"Thread Mutex") concurrencyAtom1.setAttribute("Lo
ckStrategy", "Internal Locking") //add the
second concurrency atom concurrencyAtom2
addAtom("Concurrency", "ExternalLock") concurrenc
yAtom2.setAttribute("Enable", "1")// "1" is
true, "0" is false concurrencyAtom2.setAttribute("
LockType", "Thread Mutex") concurrencyAtom2.setAt
tribute("LockStrategy", "External Locking")
Modeling Aspect
GME Model
2
Weaved Model
DMS Xform Rules
3
Transformed C Code
Base C Source Code
19
Video
  • Two-level weaving flight data recorder

20
Conclusion
  • Benefits
  • The model-driven program transformation technique
    is a generative approach for transforming large
    legacy systems from domain-specific models
  • It provides widespread adaptations across
    multiple source files according to the evolving
    model features
  • Primary Limitation
  • The current MDPT interpreters are domain-specific
    and tied to a fixed set of concerns to address
    new concerns, the model interpreter needs to be
    modified
  • Future work
  • Generalization of the process for supporting
    legacy system evolution using MDPT
  • Investigation of related standards, such as the
    OMG ADM/KDM

21
For More Information
Two-Level Aspect Weaving
http//www.cis.uab.edu/Research/C-SAW/Contains
papers, downloads, video demos
Demo of C-SAW and Model-Driven Program
Transformation Thursday, 1230pm-115pm
Courtyard
Related demo Wednesday, 330 Thu 1130
Questions?
22
Backup Slides
23
Generalization of the control flow for the MDPT
process
Write a Comment
User Comments (0)
About PowerShow.com