+ All Categories
Home > Documents > Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt...

Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt...

Date post: 14-Jan-2016
Category:
Upload: alaina-stephens
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
9
Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University of Alabama at Birmingham Supported by the DARPA PCES program DARPA/AFRL Contract # F33615-03-C-4112 An Integrated Aspect-oriented Model- driven Development Toolsuite for Distributed Real-time and Embedded Systems AOSD Aspect-Oriented Modeling Workshop Chicago, IL March 14, 2005
Transcript
Page 1: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

Aniruddha Gokhale and Jeff Gray

Institute for Software Integrated Systems (ISIS)Vanderbilt University

Software Composition and Modeling LaboratoryUniversity of Alabama at Birmingham

Supported by the DARPA PCES programDARPA/AFRL Contract # F33615-03-C-4112

An Integrated Aspect-oriented Model-drivenDevelopment Toolsuite for Distributed

Real-time and Embedded Systems

AOSD Aspect-Oriented Modeling Workshop

Chicago, ILMarch 14, 2005

Page 2: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

2

Challenge 1: Tangled Deployment and Configuration Concerns

QoSProperties

Checksum

Version Dependencies

List of FilesQoS Specs ComponentInterconnections

ImplementationDLL DLL

QoSProperties

Checksum

Version Dependencies

ImplementationDLL DLL

Key challenges in the problem space• Network-centric, dynamic, very

large-scale “systems of systems”• Stringent simultaneous quality of

service (QoS) demands• Highly diverse & complex problem

domains

Key challenges in the solution space• Enormous accidental & inherent

complexities in deployment & configuration

• Continuous evolution & change• Highly heterogeneous platform,

language, & tool environmentsComponent Assembly

QoS Adaptation

QoSMechanism

Plug-ins

QoS Policies

Component Connection Specifications

Component & Home Impls

Component ServerContainer

Component

ComponentHome

QoS Mediator

QoS Property Adaptor

QoS Policies

QoS Adaptation

QoSMechanism

Plug-insQoS-enabled

Middleware Bus

Deployment & configuration concerns of QoS-sensitive distributed systems today are often tangled across (1) several layers of middleware, OS, & networks, and (2) different software lifecycle stages, thereby adversely affecting

development & maintenance costs

Tangled Deployment

Concerns

Tangled Configuration

Concerns

Avionics DoD Scenario

Focus: Middleware Configuration and DRE

Systems Component Deployment

Page 3: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

3

Solution 1: Separation of Concerns via Model Driven DevelopmentSpecification & Implementation

– Specifying application functionality & QoS, partitioning, & implementation as standalone components

Packaging – Bundling a suite of software binary

modules & metadata representing application components

Installation– Populating a repository with packages

required by application

Configuration– Configuring the packages with the

appropriate parameters to satisfy the functional & systemic requirements of application without constraining to any physical resources

Planning– Making appropriate deployment decisions

including identifying the entities, such as CPUs, of the target environment where the packages will be deployed

Preparation– Moving the binaries to the identified

entities of the target environment

Launching– Triggering the installed binaries &

bringing the application to a ready state

Adaptation– Run-time reconfiguration & resource

management to maintain end-to-end QoS

Specification

Distributed Systems

Lifecycle Stages

Preparation

Planning

Configuration

Installation

Packaging

QoS Assurance

Launching

Separation of Configuration Concerns

RUN TIME OPTIONS

1: Container properties2: Rejection thresholds

3: Priority propagation4: Load balancing strategies

6: Scheduling policies7: fail-over time

DEPLOYMENT-TIME OPTIONS

1: Component-Node mapping2: Component attributes

3: ORB properties4: Thread Priorities & rates

6: Protocol properties7: Queue sizes

COMPILE-TIME OPTIONS

1: Interceptor support2: Real-time support

3: Type of stub, skeleton4: Debugging information

6: Exception support7: OS system calls8: Static/dynamic linkingM

idd

lew

are

La

ye

rs

Lifecycle Stages

Performance (Latencies)

Predictability

Portability

Separation of Deployment Concerns

Meta-data

Component

List of Files

QoS SpecsComponent

Interconnections

Assembly

DeploymentApplication

Assembly

AssemblyImplementationDLL DLL

Meta-data

QoS Properties

Checksum

Version Dependencies

Deployer

Nee

d f

or

auto

mat

ed

sep

arat

ion

of

con

cern

s

Page 4: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

4

CoSMIC: Generative Model Driven Development Toolsuite • Visual Modeling

• Collection of domain-specific modeling languages (DSMLs) to address D&C concerns

• Based on OMG D&C spec

• Correct-by-construction• Strong typing &

constraint-checking

• Addressing crosscutting D&C concerns• CoSMIC DSMLs

enable untangling D&C concerns

• Alleviates Accidental Complexities• Generative tools to address low-

level platform-specific details

• Enhances OMG MDA Vision

• MDD enhances OMG Model Driven Architecture (MDA) approach via DSMLs to support QoS-sensitive distributed systems

www.dre.vanderbilt.edu/cosmic

• Metamodeling• Uses Generic

Modeling Environment (GME) metamodeling capabilities

Level o

f Ab

straction

Machine code

Assembly

C/Fortran

Programming Languages & Middleware Platforms

C++/Java

Platforms

Component

Saturation!!!!

Domain-independent modeling languages

• State Charts

• Interaction Diagrams

• Activity Diagrams

Domain-specific modeling languages

• ESML• PICML• Metamodels

Model-driven Software Development

Page 5: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

5

Multiple Levels

of HierarchyReplicatedStructures

ContextSensitive

Challenge 2 : Crosscutting Constraints in Real-Time/Embedded Models

Key Challenge: Crosscutting Models

A

B

c d eB

c d e

F

B

c d e

Changeability???Crosscutting Constraints

– Base models become constrained to capture a particular design

– Concerns that are related to some global property are dispersed across the model

Solution: Constraint-Specification Aspect Weaver

– Model transformations in an aspect-oriented style to capture crosscutting concerns

Page 6: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

6

Challenge 3: Scaling up to Large DRE Systems

Context

Rich and complex interactions among modeling elements

Need to scale to large systems

Repetitive modeling tasks

Problems

Changing requirements have cascading effect across multiple locations in a model

The time to make such changes becomes infeasible to do manually; error prone nature of manual change can lead to incorrect models

Example: Scaling a model from 3 UAVs to 30 UAVs involves a combinatorial amount of changes that becomes nearly impossible to model by hand; similar for large federations of event channels

Page 7: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

7

1. CoSMIC is used to model a federated event service with three sites

2. The ECL strategy specifications in C-SAW are used to scale up any site as well as the corresponding connections in the EQAL model. Three steps are included:

• Add extra CORBA_Gateways to the existing sites

• Repeatedly replicate the site as an instance

• Create connections between all of the sites

3. C-SAW takes the original EQAL model and the ECL specifications, and then generates the new scaled-up EQAL model with additional sites:

• Model weaving to explore design alternatives more rapidly

• Design decisions crosscut model hierarchy

• Removes manual error resulting from tedious/repetitious changes

Solution 3: Aspect Model Weaving via CoSMIC+C-SAW

1 2

3

ECL Specificationsaspect Start( ){ scaleUpSites(1, 8, 4); }strategy scaleUpSites(site_id, max, idx: integer){ iterateSite_r(idx-1, 1, max, idx); addSite_r(site_id, max, idx); addCon_r1(site_id, max, 1, 1, idx); }strategy iterateSite_r(oldmax, oldidx, max, idx : integer){ declare id_str :string; if (oldidx <=oldmax) then id_str := intToString(oldidx); rootFolder().findModel("NewGateway_Federation"). findModel("Site " + id_str).addGateWay_r(max, idx); iterateSite_r(oldmax, oldidx+1, max, idx); endif;}

aspect Start( ){ scaleUpSites(1, 8, 4); }strategy scaleUpSites(site_id, max, idx: integer){ iterateSite_r(idx-1, 1, max, idx); addSite_r(site_id, max, idx); addCon_r1(site_id, max, 1, 1, idx); }strategy iterateSite_r(oldmax, oldidx, max, idx : integer){ declare id_str :string; if (oldidx <=oldmax) then id_str := intToString(oldidx); rootFolder().findModel("NewGateway_Federation"). findModel("Site " + id_str).addGateWay_r(max, idx); iterateSite_r(oldmax, oldidx+1, max, idx); endif;}

EQAL/CoSMIC Model with 3 sites

EQAL Model with 8 sites

Weaver

ECL strategies shown in paper…

Page 8: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

8

Project Web Pages

http://www.dre.vanderbilt.edu/cosmic

http://www.gray-area.org/Research/C-SAW/Contains papers, downloads, video demos

C-SAW Aspect Model Weaver

CoSMIC Modeling Languages and Tools

Page 9: Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.

9


Recommended