PCES PI 0ct 2001 - 1 Boeing Open Experimental Platform Boeing Phantom Works St. Louis, Missouri Dave Sharp Brian Mendel

Slides:



Advertisements
Similar presentations
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Advertisements

Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
MotoHawk Training Model-Based Design of Embedded Systems.
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 1 Pattern Usage in an Avionics Product Line Wendy.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
1 12/10/03CCM Workshop QoS Engineering and Qoskets George Heineman Praveen Sharma Joe Loyall Richard Schantz BBN Technologies Distributed Systems Department.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Software Architecture Design Instructor: Dr. Jerry Gao.
Application architectures
Chapter 13 Embedded Systems
DARPA Dr. Douglas C. Schmidt DARPA/ITO Towards Adaptive & Reflective Middleware for Combat Systems Wednesday, June 24, 2015 Authorized.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
CprE 458/558: Real-Time Systems
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
System Integration Management (SIM)
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
JAVA Implementation of CCM Configuration Shufeng Li MSE final Project Presentation I.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Research & Development Roadmap 1. Outline A New Communication Framework Giving Bro Control over the Network Security Monitoring for Industrial Control.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
BBN Technologies Craig Rodrigues Gary Duzan QoS Enabled Middleware: Adding QoS Management Capabilities to the CORBA Component Model Real-time CCM Meeting.
An Introduction to Software Architecture
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Cluster Reliability Project ISIS Vanderbilt University.
RTAS MDES Workshop May Model-Based Integration of Reusable Component-Based Avionics Systems David Sharp Technical Fellow Phantom Works, Open System.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp The Boeing.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
ProActive components and legacy code Matthieu MOREL.
OOPSLA Oct Towards a Pattern Language for NEST Middleware Venkita Subramonian & Chris Gill, Washington University, St.Louis David Sharp, The Boeing.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
DESIGN OF SOFTWARE ARCHITECTURE
Lecture 21: Component-Based Software Engineering
Monday, August 04, 2003Boeing - Joe Hoffert Instrumentation Overview Motivation/Vision Initial Implementation Current Functionality Usage Future Direction.
VEST Tool Base Libraries SW OS Middleware Aspects Domain Code HW Infrastructures Product Library Composition Dependency Checks Analysis Configuration Tool.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Data Sharing Service Kiran Devaram Samatha Gangapuram Harish Maringanti Prashant Shanti Kumar Pradeep Tallogu.
CoSMIC: An MDA Tool Suite for Distributed Real-time and Embedded Systems Aniruddha Gokhale, Tao Lu, Emre Turkay, Balachandran Natarajan, Jeff Parsons,
OO Methodology OO Architecture.
Inventory of Distributed Computing Concepts and Web services
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Inventory of Distributed Computing Concepts
Software models - Software Architecture Design Patterns
Analysis models and design models
An Introduction to Software Architecture
Operating Systems : Overview
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

PCES PI 0ct Boeing Open Experimental Platform Boeing Phantom Works St. Louis, Missouri Dave Sharp Brian Mendel

PCES PI 0ct Breakout Session Goals Describe, Discuss, and Derive –Initial Challenge Problems –OEP build contents and schedule –Integrated experiment plans

PCES PI 0ct Breakout Session Outline Session #1 –Challenge Problems –OEP Overview Session #2 –Experimentation Planning Mapping of TD research onto Challenge Problems Aiming for initial experiments by April 2002

PCES PI 0ct Challenge Problems

PCES PI 0ct Challenge Problem Approach OEP Proposes –Challenges based on production program experiences –Overall structure for resolving them TDs Propose –Mapping of technologies to challenge problems

PCES PI 0ct Technical Challenges Classification Define Aspects/ Refactor Source Define Aspect Implementations Map Aspects Weave Aspects Analyze Components and Compositions Extend Capabilities Application Middleware & Services Technology Challenges Embedded Software Focus Areas Events Mem Mgmt Concurrency … Aspects Process- Related Product- Related

PCES PI 0ct Process-Related Challenge Problems

PCES PI 0ct Language- Based Model-Based Automated Generation Development Process Outline Define Aspects Weave Aspects Specify Aspects Specify Behavior Specify Aspect Mapping CompileBuildTest classes instances Specify Configuration Analyze Code Specify Behavior Specify Aspects Specify Aspect Mapping Analyze Model Specify Configuration Process-Related Challenge Problems Analysis/Weaving could be done at different levels at different times Classes vs objects Including hw

PCES PI 0ct Boeing PCES Goals More configurable, flexible applications –Within large-scale development process context … –Speed up code-test-debug cycle Rapid adaptation to changing requirements… –Make components more reusable across multiple products Support variability between multiple products –Configurability WITHIN software 80-90% of our source code is application components –Want more of software reusable Whether by centralizing services within middleware, or at application

PCES PI 0ct Boeing PCES Goals (cont) Higher confidence in correct system operation –Reducing effort to achieve specific confidence –Increase absolute attainable confidence Extend current capabilities

PCES PI 0ct Model/Language Boundaries What Is Optimal Application of Each Paradigm? –Is it impacted by AO? –Can language- based approaches be extended to provide typically modeling-based capabilities & vice versa? –How can they be best integrated? Process-Related Challenge Problems

PCES PI 0ct AO Styles Internal –Methods that modify execution internals of elements Weaving Generative Programming Macros External –Methods that tailor execution externally, e.g. by specifying attributes to external service QoS specifications Execution ordering Process-Related Challenge ProblemsDefine Aspects

PCES PI 0ct Aspect Classifications Aspects defining a portion of a component’s internal behavior Aspects defining a portion of a service’s internal behavior Aspects defining a portion of a component’s externally configured behavior Aspects defining a portion of a service’s externally configured behavior Application ComponentsMiddleware & Services Internal External Defines element’s service attributes to external provider Modifies execution internals of element Process-Related Challenge Problems AO Style Focus Area Define Aspects

PCES PI 0ct Candidate Aspects Event consumers and suppliers Execution pattern State management Concurrency control Error management Number of threads Event queue sizes OS adapters Network protocols Event dependencies and configuration Scheduling Fault tolerance Lock configuration Distribution allocation Thread priorities Application ComponentsMiddleware & Services Internal External Defines element’s service attributes to external provider Modifies execution internals of element Process-Related Challenge Problems AO Style Focus Area Define Aspects

PCES PI 0ct Internal Component Aspects Event Consumers and Suppliers –Which components are event consumers/suppliers? Execution Pattern –What is overall structure of event handler (Push())? Process-Related Challenge ProblemsDefine Aspects From February Avionics Case Study Presentation Eager vs lazy evaluation Possibly modal generation of events Possibly modal triggering of actions based on consumed events

PCES PI 0ct Internal Component Aspects (cont) State Management –Externalization/Internalization of component state –Replication Updating Distributed Proxies Control: typically handled by events Data: specification of state to be replicated, either –Statically at initialization time –Dynamically at run-time –Persistence Saving non-volatile state Control: triggering persistence saves Data: currently statically defined only Define AspectsProcess-Related Challenge Problems

PCES PI 0ct Internal Component Aspects (cont) State Management (cont) –Logging Saving dynamic data to flight recorder Control: possibly down-sampled version of events Data: typically static definition of saved state Error Management –Error conditions which are anticipated either during system test or during actual system operation E.g., Pre- or Post-condition checking Process-Related Challenge ProblemsDefine Aspects

PCES PI 0ct Internal Component Aspects (cont) Concurrency Control Patterns –No Locking For single threaded components –Internal Locking To avoid read/write collisions Each public method contains an internal guard –External Locking To provide coherency across multiple accesses Locking methods are publicly available –Synchronization Proxy Provides multiple access coherency without external locks Proxy created for each client thread Define AspectsProcess-Related Challenge Problems

PCES PI 0ct External Component Aspects Event Dependencies, Configuration, and Scheduling Define AspectsProcess-Related Challenge Problems

PCES PI 0ct External Component Aspects (cont) Event Dependencies, Configuration, and Scheduling (cont) Process-Related Challenge ProblemsDefine Aspects

PCES PI 0ct External Component Aspects (cont) Fault Tolerance –Currently handled by coarse predefined modes configured during initialization time –Activated at run-time by mode switch within Event Service –Cross-cuts issues of distribution, schedulability, state management, etc Distribution Allocation –Configured during initialization by instantiation of masters and distributed proxies Process-Related Challenge ProblemsDefine Aspects

PCES PI 0ct External Component Aspects (cont) Lock Configuration –Each component contains a lock –Based on product specific configuration, actual locks which are created during initialization may be null, mutex, recursive mutex, etc Process-Related Challenge ProblemsDefine Aspects

PCES PI 0ct Internal Service Aspects ORB and Event Service Configuration –Number of threads –Event queue sizes OS Wrapper (ACE) Configuration –OS type macros Network Protocols Define AspectsProcess-Related Challenge Problems

PCES PI 0ct External Service Aspects OS Threads and Priorities –Do we need to deal with these separately from Internal Service Aspects? Define AspectsProcess-Related Challenge Problems

PCES PI 0ct SRI Interest In Proposed Aspects Cor nell GIT KS U U BC OGI Boe ing LS JU Define AspectsProcess-Related Challenge Problems Event cons/suppliers Execution pattern State management Concurrency control Error management Event depend/config Scheduling Fault tolerance Lock configuration Distribution allocation Number of threads Event queue sizes OS adapters Network protocols Thread priorities CM U Kes trel MITVUWU BB N Preview of Experimentation Planning Discussion

PCES PI 0ct Specify Aspects What Unique Capabilities Apply To Writing Aspects? –Model-based? KSU –Global invariant specifications for synchronization –Includes code generation to be woven with functional code –Regions, not just points –Language-based? UBC –AspectC, coming later –Java based reverse engineering, modification, then forward engineering of aspects Process-Related Challenge Problems

PCES PI 0ct Specify Aspect Mapping What Approaches Are Proposed For Mapping Aspects? –Model-based? –Language-based? Process-Related Challenge Problems Internal Aspect Configuration

PCES PI 0ct Specify Configuration What Approaches Are Proposed For Specifying Configurations? –Model-based? MoBIES –Language-based? Process-Related Challenge Problems External Aspect Configuration

PCES PI 0ct Analysis What Analyses Are Proposed? –Aspect correctness –Recommended aspect mappings –Event analysis –Timing and schedulability –Property assurance –Data flow analysis Process-Related Challenge Problems

PCES PI 0ct Development Scenarios Development Scenarios Capture End-To-End Process Flows Process-Related Challenge Problems Weave Aspects Specify Aspects Specify Aspect Mapping Specify Configuration Timing Analysis Model-BasedLanguage-Based Data Flow Analysis Property Assurance Evt Correlation Analysis VU Java U BC U BC U BC Boe ing Preview of Experimentation Planning Discussion

PCES PI 0ct Product-Related Challenge Problems

PCES PI 0ct Product Challenges Radar WeaponsNav Sensors Weapon Management Data Links Many Computers Multiple Buses Constrained Tactical Links O(10 6 ) Lines of Code Hard & Soft Real-Time Periodic & Aperiodic Multiple Safety Criticalities Information Security PCES Focus Domain Mission Computer Vehicle Mgmt COTS

PCES PI 0ct PCES Component Model Evolved Component Model Based On CORBA Component Model (CCM) –Multiple APIs separated into different facets –Event consumers represented by first-class “event sink” concept –Equivalent interfaces, homes, common base classes, etc … Tailored And Extended For Real-Time QoS-Enabled Applications … Collaboratively with BBN OEP Application Challenges

PCES PI 0ct Application Component Library Current Application Components Based on Bold Stroke Component Model –Desire to align with CCM In future, move to RT Java –Scale motivates automated methods (O(10 3 ) components) Semantic Designs’ Design Maintenance System (DMS) Software Reengineering Toolkit To Be Investigated As Translator –Designed for large scale automated source reengineering –Based on program transformation technology Capable of processing ANSI C++, Java, many others Initial Effort Is Proof of Concept Demonstration Goal Is Rich Set Of Production Fidelity Application Components for PCES Demonstrations Application Challenges

PCES PI 0ct Middleware and Service Challenges Enhancing support for “external component” aspects –Event service –Event service correlation –Synchronization –Persistence –Resource management CPU, memory, network Locally and/or globally –Fault tolerance –CCM services

PCES PI 0ct Product Technologies Product Technology Development Activities Product-Related Challenge Problems Event Correlation Synchronization Persistence Resource Mgmt Fault Tolerance CCM Services SRI Cor nell GIT KS U U BC OGI Boe ing LS JU CM U Kes trel MITVUWU BB N Preview of Experimentation Planning Discussion Boe ing Event Service WU In Java KS U

PCES PI 0ct OEP Overview

PCES PI 0ct What is the OEP? A Software Platform Designed To: –Enhance ability to develop and test reusable distributed real-time embedded software –Provide research platform to facilitate transitionable and integratable PCES research Features: –Open run-time framework including middleware services and API –Representative Avionics Mission Processing domain application components –Set of representative Product Scenarios

PCES PI 0ct Model Infrastructure Services Operator Configurator Building Blocks Real World Model Avionics Interfaces DependenciesDependencies ViewController Commands Display Surfaces Display Formats Cockpits Missiles Ballistic Weapons SteeringAirframe Earth Model Ground Points State Machines Distributors RadarINSGPS ORB Services Event Service Name Service Replication Service Persistence Service Scheduler Service I/O Service Time Service System Configurator Layer Configurator Component-Based Architecture With 10 3 Components CORBA and COTS RTOS-Based Middleware Component-Based Architecture With 10 3 Components CORBA and COTS RTOS-Based Middleware Bold Stroke Logical Architecture Overview

PCES PI 0ct OEP Logical Architecture Overview Model Infrastructure Services Operator Configurator Building Blocks Real World Model Avionics Interfaces DependenciesDependencies ORB Services Event Service Name Service Replication Service Persistence Service Scheduler Service Time Service System Configurator Layer Configurator BM__ModeSource Component BM__PushDataSource Component BM__LazyActive Component BM__Modal Component BM__OpenED Component BM__ClosedED Component BM__Display Component BM__Passive Component BM_Device Component PCES OEP To Leverage MoBIES OEP

PCES PI 0ct Configurator Model / Operator Infrastructure Services Infrastructure Services OEP Wrapper Facade Layer Concurrency Utilities Event Service Utilities Persistence Utilities Configuration Utilities ORB Utilities Replication Utilities OS (VxWorks, Windows NT, Linux,... ) Adaptive Communication Environment (ACE) The ACE ORB (TAO) Real-Time Adaptive Resource Management (RTARM) Common Services Global Synch Naming Service Timer Service Trading Service Replication Service Error Service Scheduler Service Persistence Service Time Service Application Configurator

PCES PI 0ct Multi-Level Control Mission Computing- PCES Focus Application Domain OEP Decomposition

PCES PI 0ct CORBA Component Model Concepts ComponentEquivalentInterface GetFacet() > Facet1 GetData() > Facet2 PointAt() > EventSource Push() > EventSink Push() > EventSourceAdapter EventSinkAdapter Component Receptacle Connect() >

PCES PI 0ct Event Supplier Acts as a root event/data source for the system. Is usually timer driven. Event Supplier Event Consumer It is responsible for updating its own state and is not modifiable by a client (Closed). Event Consumer Acts as sink for data and control. Data it retrieves is output to the screen. BM__DeviceComponent BM__ClosedEDComponent BM__DisplayComponent Generic Component Descriptions

PCES PI 0ct BM__ModalComponent BM__DeviceComponent BM__LazyActiveComponent BM__DisplayComponent BM__ClosedEDComponent Event Consumer Event Supplier Conforms to Lazy Active execution pattern Event Consumer Event Supplier Changes modes activated by a push or client method call. Mode change results in a change of supplied event. BM__PassiveComponent Generic Component Descriptions (cont’d) Event Supplier

PCES PI 0ct Product Scenarios Provide Defined Representative Component Compositions and Interactions PS 1.x: basic single processor –1.1: minimum components, single-threaded –1.2: additional components, multi-threaded –1.3: modal execution, single-threaded PS 2.x: representative single processor PS 3.x: basic distributed processing –3.1: minimum components, single-threaded (priority) –3.2: additional components, multi-threaded (priorities) PS 4.x: representative distributed processing PS 4.x PS 1.x Basic PS 2.x Representative PS 3.x Multi-procUni-proc PCES Will Extend Product Scenario Set

PCES PI 0ct Product Scenario #1.1 Simplest Single Processor Scenario –“Hello, World”

PCES PI 0ct Product Scenario #3.1 Simplest Distributed Processor Scenario

PCES PI 0ct Product Scenario #1.3 (20Hz) Mid-Level Single Processor Scenario

PCES PI 0ct Product Scenario #1.3 (1Hz)

PCES PI 0ct OEP Configuration XML is Transformed into a Set of C++ Arrays of Enum/Integer Constants to be Compiled into Build XML is Transformed into a Set of C++ Arrays of Enum/Integer Constants to be Compiled into Build Arrays are Traversed at Initialization Time XMLProcessor OEP Configuration XML DOM Parser

PCES PI 0ct XML Top Level Structure BM__DEVICE_COMPONENT Delineates configuration for each processor Allows for multiple pass initialization Allows for multiple pass initialization Lifetime manager/locator for each Component type Lifetime manager/locator for each Component type Unique Id for the home Component instantiation/configuration

PCES PI 0ct XML Component Structure Components must exist at this time (must be in second pass) Components must exist at this time (must be in second pass) Unique Id for this component Causes connection between master And proxy to be made Causes connection between master And proxy to be made

PCES PI 0ct Download / Installation MoBIES Web Site S/W Distribution Page: Select OEP B1.3 Double-Click to Run Setup

PCES PI 0ct Additional Information Installation Instructions Build / Setup Instructions