A Vision for Integration of Embedded System Properties Via a Model-Component-Aspect System Architecture Christopher D. Gill Department.

Slides:



Advertisements
Similar presentations
AMUSE Autonomic Management of Ubiquitous Systems for e-Health Prof. J. Sventek University of Glasgow In collaboration.
Advertisements

© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Unified Modeling (Part I) Overview of UML & Modeling
- 1 - Component Based Development R&D SDM Theo Schouten.
Using Architecture Frameworks
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Course Instructor: Aisha Azeem
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
Architectural Design.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Chris Gill Department of Computer Science Washington University, St. Louis
Robust Design Strategies I Gruia-Catalin Roman and Christopher Gill Washington University in St. Louis.
An Introduction to Software Architecture
Christopher Gill and Nanbor Wang Department of Computer Science and Engineering Washington University, St. Louis Monday May.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Architecting Web Services Unit – II – PART - III.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor.
University of Kansas Electrical Engineering Computer Science WPDRTS 2004 Tuesday April 27, 2004 Challenge Problem Session.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
HPEC’02 Workshop September 24-26, 2002, MIT Lincoln Labs Applying Model-Integrated Computing & DRE Middleware to High- Performance Embedded Computing Applications.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Writing Systems Software in a Functional Language An Experience Report Iavor Diatchki, Thomas Hallgren, Mark Jones, Rebekah Leslie, Andrew Tolmach.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Part VII: Design Continuous
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.
OOPSLA Oct Towards a Pattern Language for NEST Middleware Venkita Subramonian & Chris Gill, Washington University, St.Louis David Sharp, The Boeing.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Towards a Holistic Approach for Integrating Middleware with Software Product Lines Research Institute for Software Integrated Systems Dept of EECS, Vanderbilt.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Ying Huang, Marc Sentany Department of Computer Science.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
Engineering the Advanced Power Grid: Research Challenges and Tasks M. L. Crow, F. Liu, B. McMillin, D. Tauritz {crow, fliu, ff, University.
Model-Driven Optimizations of Component Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems OMG Real-time Workshop.
VEST Tool Base Libraries SW OS Middleware Aspects Domain Code HW Infrastructures Product Library Composition Dependency Checks Analysis Configuration Tool.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
A Generative Programming Approach for Adaptive Middleware Venkita Subramonian & Chris Gill Distributed Object Computing Group Washington University, St.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Aniruddha Gokhale, Tao Lu, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
The Role of Reflection in Next Generation Middleware
CIM Modeling for E&U - (Short Version)
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Towards a Real-time CORBA Component Model
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distribution and components
Model-Driven Analysis Frameworks for Embedded Systems
Tools for Composing and Deploying Grid Middleware Web Services
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Automated Analysis and Code Generation for Domain-Specific Models
From Use Cases to Implementation
Presentation transcript:

A Vision for Integration of Embedded System Properties Via a Model-Component-Aspect System Architecture Christopher D. Gill Department of Computer Science and Engineering Washington University St. Louis, MO, USA Research supported in part by the DARPA PCES program, under contracts F C-3048 to Boeing, and F C-4110 to Washington University

Motivation Embedded systems concerns are increasingly –Complex –Inter-connected –Mission/safety critical Multiplicity of concerns –Functional E.g., algorithms, protocols –“Para-functional” (Rajkumar) E.g., timeliness, security, fault-tolerance, footprint Correctness –Depends on properties in both categories

Problem Statement Concerns in different dimensions may interfere –E.g., real-time, fault-tolerance Need to address all concerns systematically –Verify and enforce correctness Solution must scale with complexity of system requirements –Automated development essential –Minimizing feature sets/interactions Single techniques unlikely to work –Multiple useful decompositions –Several levels of abstraction –Issue for both tools and infrastructure Can we apply multiple techniques, each to its best use? Deployment Domain Model Interaction Domain Model Resource Access Domain Model t s Concurrency Domain Model Component Middleware OS / Network Low-Level Middleware High-Level Middleware

Illustrative Example Application components expose interfaces (e.g., “facets” in CCM) Components aggregate objects –Hide details of server implementation –While still offering infrastructure support Components depend on infrastructure policies and mechanisms –E.g., ORB strategies, OS threads A call from one component onto another crosscuts infrastructure Two main decompositions –Object-oriented (components) –Aspect-oriented (invocation path) 1 thread pending upcalls ORB 2 wait strategy Component B Component Cfacet u facet v facet w 2 threads pending upcalls ORB 1 wait strategy Component A facet s facet t

Example Continued Assume blocking two-way invocations for illustration –Different properties interfere in other cases (E.g., nesting) A call into an ORB binds a thread (1,2,4,5,6) A call within an ORB re- uses the caller’s thread (3) Call return from an ORB unbinds a thread (4, 2) Deadlock if a stable call chain pattern exhausts the threads in an ORB (1,5,6,7) z y x t s uv w

Position Statement Multiple techniques must be applied together –Model Integrated Computing –Component Middleware –System Software Aspect Frameworks Integration is essential –Synthesize multiple models –Project models into infrastructure “substrate” –Compose infrastructure –Weave infrastructure aspects “Model-Component-Aspect” architecture –What parts already exist? –What are the open research questions? Deployment Domain Model Interaction Domain Model Resource Access Domain Model t s Concurrency Domain Model Component Middleware OS / Network Low-Level Middleware High-Level Middleware Synthesis Composition & Weaving Projection

Model Integrated Computing Model driven toolsets –Target specific domains E.g., Cadena (KSU) –QoS-aware CCM E.g., VEST (UVA) –Infrastructure aspects –Automate infrastructure checking and configuration Model engineering tools –Model model driven toolsets E.g., Bogor (KSU) → Cadena E.g., GME (Vanderbilt) → VEST –Tool interoperation, extension –Synthesis and projection from this level seems appropriate Deployment Domain Model Interaction Domain Model Resource Access Domain Model t s Concurrency Domain Model Synthesis

System Aspect Frameworks Provide an additional decomposition –Assumes dominant object/layer/component decomposition High-level frameworks –Focus on end-to-end and top-to-bottom integration E.g., QuO (BBN), FCS-nORB (WUSTL) Low-level frameworks –Focus on internal policy and mechanism integration E.g., Kokyu (WUSTL), Event Correlation Automata (Stanford, KSU) Aspects may crosscut high and low levels “Aspect layering” might be strict, but more likely only partial Contracts threadstimers queues sockets OS / Network Low-Level Middleware High-Level Middleware Crosscutting System Aspects

Component Middleware A suitable architectural “meeting point” Component packaging, assembly and deployment –Driven by specifications (e.g., from the modeling tools) –Supports both composition and weaving of infrastructure Composition –Follows dominant decomposition –Components → applications → systems Weaving –Customizes properties within or across composition steps OS / Network Low-Level Middleware High-Level Middleware Component Middleware ContainersComponents Composition Specification Weaving Specification

Open Research Problems The big question: which tools for which sub-problems? –E.g., do we model “to the metal”? To higher-level abstractions? Both? –Need good metrics Based in semantics of functional and para-functional correctness Must compare quality of solutions and complexity/extensibility of techniques Can distinguish alternatives, guide trade-offs and optimization –Need integrated theories of composition for (para-)functional properties Polymorphism may be contextually determined (e.g., resource constraints) Related question: what information can/should each encode? –Models have a wide range of possibilities (analogy to programming languages: from machine language to ML) Subject to concerns about model complexity and extensibility –We can apply language techniques within infrastructure frameworks E.g., exploiting/creating type systems, reflection –Need theories of co-design for infrastructure and modeling techniques Can we define type-safety of infrastructure aspect composition, substitution? Can target implementations help ↓ complexity and ↑ scalability of models?

Open Research Problems, Continued Next question: how should we build such systems? –Again, automation of system development is essential –Need model synthesis tools, model interchange formats –Need flexible infrastructure substrates Can be composed, synthesized, customized, pruned down –Need tools to project models into infrastructure substrates –Need tools to compose infrastructure, weave its aspects Intuitively, model projection tools should employ weavers/composers One local area of research in this much larger world –How can we apply multiple infrastructure decompositions? E.g., object-oriented, generic, aspect-oriented infrastructure views –Does this help rationalize choices w/ competing concerns? E.g., by reducing “accidental” complexity E.g., by making trade-offs explicit, providing rigorous semantics?

Concluding Remarks Embedded systems are increasingly complex, interconnected, and mission/safety critical The open problems are important and challenging Need an increased eye toward co-design and integration rather than one-size-fits-all approaches Community question: how to avoid fragmentation? –Need forums and support geared toward collaboration Bring together researchers in modeling, systems, languages, … –Need broad and deep research agendas in this area Co-design & composition (theories & realization) demand attention