Faculty recruitment talk

Download Report

Transcript Faculty recruitment talk

Model Driven Middleware:
Processes and Artifacts for Developing
Component-based Software Systems
Dr. Aniruddha S. Gokhale
[email protected]
Assistant Professor, EECS
Vanderbilt University
Dr. Douglas C. Schmidt
[email protected]
Professor & Assoc Chair, EECS
Vanderbilt University
www.dre.vanderbilt.edu
Presented at Infosys Meeting
Nashville, TN
Nov 20th, 2007
Institute for Software
Integrated Systems
Vanderbilt University
Nashville, Tennessee
Sponsors: DARPA PCES, DARPA ARMS, NSF CSR-SMA, Raytheon, LMCO, Siemens, BBN, Telcordia
Landscape of Large Software Systems
• Network-centric and large-scale “systems of
systems”
• e.g., industrial automation, emergency
response, healthcare, transportation, banking
• Heterogeneity
• Different communication semantics
• Different platforms
• Satisfying tradeoffs between multiple (often
conflicting) QoS demands
• e.g., secure, real-time, reliable, etc.
Systems increasingly adopting
service oriented architectures
2
Technology Enablers for Composable Software
“Write Code That Reuses Code”
…
…
…
…
Container
Container
Middleware Bus
Replication
Security
A/V Streaming
Persistence
Scheduling
Notification
Load Balancing
•Components encapsulate application
“business” logic
•Components interact via ports
•Provided interfaces, e.g., facets
•Required connection points, e.g.,
receptacles
•Event sinks & sources
•Attributes
•Containers provide execution
environment for components with
common operating requirements
•Components/containers can also
•Communicate via a middleware
bus and
•Reuse common middleware
3 services
Challenges in Developing Software Systems (1/2)
•Developers must develop high
quality, high confidence software
•Developers often move between
industry verticals as projects
change
•Must deal with changes in
development platforms
• e.g., middleware, protocols,
networks, OS, hardware
• Steep learning curve
• Different approaches to
development, deployment,
configuration and testing
Software Systems
RT-CORBA
Apps
RT-CORBA
Services
RT-CORBA
J2EE
Middleware
Apps
Services
.NET
Apps
J2EE
Services
.NET
Services
J2EE/JVM
CLR/.NET
Middleware
Operating System
& Protocols
•Time-to-market pressures
continue to increase
Hardware &
Networks
4
Challenges in Developing Software Systems (2/2)
Variability in the problem space
(domain expert role)
•Functional diversity
•Composition, deployment and
configuration diversity
•QoS requirements diversity
Variability in the solution space
(systems integrator role)
•Diversity in platforms,
languages, protocols & tool
environments
•Enormous accidental &
inherent complexities
•Continuous
evolutionartifacts
& change
Mapping
problem
to solution artifacts is hard
5
Steps in Realizing Composable Software Systems
…
…
composition & packaging
…
deployment planning &
QoS provisioning
specification
Domain-specific
Services
Common Services
Distribution
Middleware
Infrastructure
Middleware
Operating System &
Network Stack
analysis, validation & verification, testing
6
configuration &
optimization
Solution Approach: Model Driven Engineering (MDE)
• Develop, validate, &
standardize generative
software technologies that:
1. Model
2. Analyze
Software Systems
3. Synthesize &
4. Provision
Middleware
Services
<CONFIGURATION_PASS>
<HOME>
<…>
<COMPONENT>
<ID> <…></ID>
<EVENT_SUPPLIER>
<…events this
component supplies…>
</EVENT_SUPPLIER>
</COMPONENT>
</HOME>
</CONFIGURATION_PASS>
Middleware
Operating Sys
& Protocols
multiple layers of middleware
& application components
that require simultaneous
control of multiple quality of
service properties end-to-end
• Processes for inter-/intra-layer
optimization & advanced
product-line architectures
Hardware &
Networks
Goal is not to replace programmers per se – it is to provide higher-level
domain-specific languages for middleware/application
developers & users
7
Leveraging Standards: OMG D&C Specification
Specification & Implementation
• Defining, partitioning, & implementing appln functionality as
standalone components
Assembly & Packaging
• Bundling a suite of software binary modules & metadata
representing app components
Installation
• Populating a repository with packages required by app
Configuration
• Configuring packages with appropriate parameters to satisfy
functional & systemic requirements of an application without
constraining to physical resources
Planning
• Making deployment decisions to identify nodes in target
environment where packages will be deployed
Preparation
• Moving binaries to identified entities of target environment
Launching
• Triggering installed binaries & bringing appln to ready state
QoS Assurance & Adaptation
• QoS validation, runtime (re)configuration & resource
management to maintain end-to-end QoS
8
OMG Deployment &
Configuration (D&C)
specification (ptc/05-01-07)
Our MDE Solution: CoSMIC Tool chain
Component Package
Component
Component
Component
Assembly
Component
Assembly
Component
Component
Component
Component
Component
Component
Configurator
pa
cka
s
ML
ge
IC
(P
(4
)c
on
(O
fig
CM
ur
es
L,Q
oS
ML
)
(3)
Component
Packager
)
(PICML)
sp
gu
CoSMIC
ec
ific
ati
on
Component
Developer
fee
a
db
ck
Assembly
Component
Deployer
ra t
ion
(6) deployment
Deployment
Application
RACE Framework
(5)
planning
n
si g
d e a ck
(9 ) e d b
fe
(1)
g confi
Deployment
Planner
y  f ( x1 , x2 ,... xn )
(8) reconfiguration
& replanning
Component
Assembler
gin
de
ve
lop
ML
s
&
PI
CM
L)
Component
assembly
(2) assembles
Component
Assembly
Component
pa
Component
(ID
Component
cka
planning
Component
Assembly
DAnCE
Framework
Assembly
Component
Imp
Imp
Imp
l
l
l
Resource
Requirements
(7) analysis &
benchmarking
System
analyzer
(Cadena & BGML)
Properties
Analysis & Benchmarking
•
•
•
•
CoSMIC tools e.g., PICML used to model application components, CQML for QoS
Captures the data model of the OMG D&C specification
Synthesis of static deployment plans for DRE applications
Capabilities being added for QoS provisioning (real-time, fault tolerance, security)
9
CoSMIC can be downloaded at www.dre.vanderbilt.edu/cosmic
DOC Group Research on Software Systems
Multiple Levels of Abstraction
• CoSMIC - Modeling Deployment &
Configuration (D&C) crosscutting
concerns
Systemic
Model
Functional
Model
• RACE – Resource and Control
Engine
Analysis
Weaver
• DAnCE – Deployment And
Configuration Engine
<CONFIGURATION_PASS>
<CONFIGURATION_PASS>
<HOME>
<…>
<HOME>
<…>
<COMPONENT>
<COMPONENT>
<ID>
<…></ID>
<ID> <…></ID>
<EVENT_SUPPLIER>
<EVENT_SUPPLIER>
<…events
this component
<…events this component
supplies…>
supplies…>
</EVENT_SUPPLIER>
</EVENT_SUPPLIER>
</COMPONENT>
</COMPONENT>
</HOME>
</HOME>
</CONFIGURATION_PASS>
</CONFIGURATION_PASS>
Benchmarking
• CIAO – QoS-enabled component
middleware
Synthesis
Component
Creates
XML to
IDL
Impl
Resource
Requirements
Developer
R-F
R-F
Plan
Analyzers
LISP to
IDL
Impl
Plan
Managers
Impl
Creates
Properties
Assembler
Component
Creates
Priority
Sched .
path
Uses
2D Bin
packing
Priority
Sched .
Executor
Access
Resources
Output
Adapters
Desktop
F-R
R-F. Line source is a Receptacle and
Line destination is a Facet
Packager
Deployment Plan
Deploys
To
DAnCE
Creates
Planner
R-F
Applications that fetch
XML or LISP and call
appropriate plug -ins
F-R. Line source is a Facet and Line
destination is a Receptacle
Component
Assembler
F-R
F-R
2D Bin
packing
path
Component Assembly
Component
Component
Printer
Repository
Administrator
Laptop computer
Ethernet
To
OpenCCM
Component Packages
Configures
Bridge
COMPONENT REPOSITORY
Firewall
Domain
QoS Specs
Dependencies
Specifies
Domain
Administrator
10
www.dre.vanderbilt.edu
Configurations
Research Impact & Future Work
Current progress stems from
years of iteration, refinement,
& successful use
Model driven
middleware
RT/CCM
Shape the standards e.g.,
OMG’s Model Driven
Architecture (MDA) for
DRE systems
CORBA Component
Model (CCM)
Component
Models (EJB)
Real-time (RT)
CORBA
Long-term Research Directions
• Heterogeneous component systems
• Automated QoS configurations
• Feature modeling
• Runtime model feedback
• Automated inference of bottlenecks
• Synthesis of QoS management
policies
• Synthesis of autonomic survivability
CORBA & DCOM
DCE
Micro-kernels
RPC
Internet
1970
2000
2005
Year
2010
11
Team Members and Collaborators
This research was possible due to our sponsors, efforts of students, and collaborations
•
Current/Past DOC Students & Staff
• Krishnakumar Balasubramanian
• Arvind Krishna
• Jaiganesh Balasubramanian
• Emre Turkay
• Jeff Parsons
• Balachandran Natarajan
• Sumant Tambe
• James Hill
• Akshay Dabholkar
• Amogh Kavimandan
• Gan Deng
• Will Otte
• Jules White
• Joe Hoffert
• George Edwards
• Dimple Kaul
• Arundhati Kogekar
• Gabriele Trombetti
•
•
Collaborations
• Dr. Doug Schmidt
• Dr. Janos Sztipanovits
• Dr. Gabor Karsai
• Dr. Joe Loyall
• Dr. Rick Schantz
• Dr. Joe Cross
• Dr. Sylvester Fernandez
• Dr. Adam Porter
• Dr. Sherif Abdelwahed
• Dr. Jeff Gray
• Dr. Swapna Gokhale
• Dr. Cemal Yilmaz
• Thomas Damiano
• Christopher Andrews
• Theckla Louchios
Sponsors: DARPA PCES, DARPA ARMS, NSF CSR-SMA,
Raytheon IRAD, LMCO, Siemens, BBN, Telcordia
12
Concluding Remarks
• Model-Driven Engineering
(MDE) is an important
emerging generative
technology paradigm that
addresses key lifecycle
challenges of DRE
middleware & applications
• OMG PSIG on Model
Integrated Computing
www.omg.org/news/meetings/tc/
agendas/mic.htm
Many hard R&D problems with model-driven engineering remain unresolved!!
•CoSMIC MDE tools are based on the Generic Modeling Environment (GME)
• CoSMIC is available from www.dre.vanderbilt.edu/cosmic
• GME is available from www.isis.vanderbilt.edu/Projects/gme/default.htm
13