Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "PCES PI 0ct 2001 - 1 Boeing Open Experimental Platform Boeing Phantom Works St. Louis, Missouri Dave Sharp Brian Mendel"— Presentation transcript:

1 PCES PI 0ct 2001 - 1 Boeing Open Experimental Platform Boeing Phantom Works St. Louis, Missouri Dave Sharp david.sharp@boeing.com Brian Mendel brian.r.mendel@boeing.com

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

3 PCES PI 0ct 2001 - 3 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

4 PCES PI 0ct 2001 - 4 Challenge Problems

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

6 PCES PI 0ct 2001 - 6 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

7 PCES PI 0ct 2001 - 7 Process-Related Challenge Problems

8 PCES PI 0ct 2001 - 8 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

9 PCES PI 0ct 2001 - 9 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

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

11 PCES PI 0ct 2001 - 11 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

12 PCES PI 0ct 2001 - 12 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

13 PCES PI 0ct 2001 - 13 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

14 PCES PI 0ct 2001 - 14 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

15 PCES PI 0ct 2001 - 15 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

16 PCES PI 0ct 2001 - 16 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

17 PCES PI 0ct 2001 - 17 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

18 PCES PI 0ct 2001 - 18 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

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

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

21 PCES PI 0ct 2001 - 21 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

22 PCES PI 0ct 2001 - 22 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

23 PCES PI 0ct 2001 - 23 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

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

25 PCES PI 0ct 2001 - 25 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

26 PCES PI 0ct 2001 - 26 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

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

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

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

30 PCES PI 0ct 2001 - 30 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

31 PCES PI 0ct 2001 - 31 Product-Related Challenge Problems

32 PCES PI 0ct 2001 - 32 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

33 PCES PI 0ct 2001 - 33 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

34 PCES PI 0ct 2001 - 34 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

35 PCES PI 0ct 2001 - 35 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

36 PCES PI 0ct 2001 - 36 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

37 PCES PI 0ct 2001 - 37 OEP Overview

38 PCES PI 0ct 2001 - 38 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

39 PCES PI 0ct 2001 - 39 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

40 PCES PI 0ct 2001 - 40 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

41 PCES PI 0ct 2001 - 41 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

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

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

44 PCES PI 0ct 2001 - 44 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

45 PCES PI 0ct 2001 - 45 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

46 PCES PI 0ct 2001 - 46 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

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

48 PCES PI 0ct 2001 - 48 Product Scenario #3.1 Simplest Distributed Processor Scenario

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

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

51 PCES PI 0ct 2001 - 51 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

52 PCES PI 0ct 2001 - 52 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

53 PCES PI 0ct 2001 - 53 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

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

55 PCES PI 0ct 2001 - 55 Additional Information Installation Instructions Build / Setup Instructions


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

Similar presentations


Ads by Google