Post on 13-Jan-2016
description
RTAS MDES Workshop May 2003 - 1
Model-Based Integration of Reusable Component-Based
Avionics Systems
Model-Based Integration of Reusable Component-Based
Avionics Systems
David Sharp
Technical Fellow
Phantom Works, Open System Architecture
david.sharp@boeing.com
27 May 2003
This work was sponsored by the DARPA/ITO Model-Based Integration of Embedded Software program, under contract F33615-00-C-1704 with Air Force Research Laboratory Information Directorate, Wright-
Patterson Air Force Base.
RTAS MDES Workshop May 2003 - 2
Boeing Bold Stroke InitiativeBoeing Bold Stroke Initiative
Object-Oriented Reusable ApplicationFramework
Architecture Specific Service Software• Configurable to variable hardware configurations• Supportive of reusable applications
Commercial and Standards-BasedPlatform
• COTS-based real-time middleware servicesStandard Service Software
Product LineComponent Model
Single Component Development Policies• Configurable for Product Specific
Functionality and Execution Environment
Component Integration Model
• Configurable for Product Specific Component Selection and Distribution
EnvironmentComponent Integration Policies
Avionics Interfaces
Operator
Real World Model
Infrastructure Services
Hardware (CPU, Memory, I/O)Hardware (CPU, Memory, I/O)
Board Support PackageBoard Support Package
Operating SystemOperating System
Infrastructure ServicesInfrastructure Services
Creation of Highly Configurable Avionics Product Line Via OO
Framework Technologies
Creation of Highly Configurable Avionics Product Line Via OO
Framework Technologies
RTAS MDES Workshop May 2003 - 3
Product Line DevelopmentProduct Line Development
HelperC las s
FacadeC las s
HelperC las s
C ommonC las sP rojec tC las s
P rojec tHelperC las s
HelperC las s
FacadeC las s
HelperC las s
C ommonC las sP rojec tC las s
P rojec tHelperC las s
HelperC las s
FacadeC las s
HelperC las s
C ommonC las sP rojec tC las s
P rojec tHelperC las s
HelperC las s
FacadeC las s
HelperC las s
C ommonC las sP rojec tC las s
P rojec tHelperC las s
Common
Project Specific
H elperC las s
FacadeC las s
H elperC las s
C ommonC las sP ro jec tC las s
P ro jec tH elperC las s
HelperC las s
FacadeC las s
H elperC las s
C ommonC las sRefC lass
RefHe lperC lass
Create common components
Configure for project deployment
P1 Configurator P2 Configurator
HelperClass
FacadeClass
HelperClass
CommonClassProjectClass
ProjectHelperClass
Class
HrClass
ass ojec
Projss
Class
HrClass
ass ojec
Projss
FunctionalFunctional SystemicSystemic
Extend common/create plugs for project specific req’ts
Create projectspecific components
ComponentsComponents IntegrationIntegration
RTAS MDES Workshop May 2003 - 5
Model-Based Component Integration Approach
Model-Based Component Integration Approach
Focus Area
Build Test
ModelModel
Analyze
GenerateConfiguration Build Test
ModelComposition
ModelReusable
Components
RTAS MDES Workshop May 2003 - 7
Process Related ViewsProcess Related Views
• Logical Fault Management– Operational and backup modes and components– Components that need replicated backups
• Execution Dependencies– Triggers and trigger types– Trigger based dependency graphs – Execution rates for the roots of dependencies
• Threads– Threads and their associated rates and priorities
ModelModel
Analyze
GenerateConfiguration
ModelComposition
RTAS MDES Workshop May 2003 - 8
Deployment Related ViewsDeployment Related Views
• Physical Fault Management– Relationships between fault modes and physical resources
• Component Quality of Service– Execution rates– Importance– Resource requirements
• Process– System physical resources– Allocation of threads to processes
• Component Allocation– Components that are strongly coupled– Allocation of components to processors and processes– Parameters for automatic generation of integration code
• Identify and generate CORBA stubs and skeletons as needed
ModelModel
Analyze
GenerateConfiguration
ModelComposition
RTAS MDES Workshop May 2003 - 9
Model-Based AnalysisModel-Based Analysis
• Execution Dependencies– Identifying cyclic dependencies– Ensuring consistency of dependency graphs– Using dependency graphs to identify execution
requirements for timing analysis
• Timing Analysis– Schedulability– Utilization
• Fault Tolerance– Determine status of components in various fault scenarios– Support allocation of backup components to processors to
meet fault-tolerance goals
Having models that capture cross-cutting aspects of a system is the basis for analysis
Having models that capture cross-cutting aspects of a system is the basis for analysis
ModelModel
Analyze
GenerateConfiguration
ModelComposition
RTAS MDES Workshop May 2003 - 10
Model-Based ConfigurationModel-Based Configuration
• Automatic Generation of Configuration Code Based on Models Can Yield Increased Speed and Quality and Reduced Cost– Manual creation of integration code is time
consuming, tedious and error prone– Much integration code is fully determined by a
model of the system configuration– Tools already exist that generate much similar
code• CORBA IDL compilers, etc.
ModelModel
Analyze
GenerateConfiguration
ModelComposition
Infrastructure Services
Model
Operator
Configurator
RTAS MDES Workshop May 2003 - 11
Inter-ViewTranslation
ConfigurationTranslation
GenerateConfiguration
GenerateConfiguration
AnalysisTranslation
InputTranslation
Resultant ProcessResultant Process
BuildBuild
TestTest
ThreadingThreading
EventDependency
EventDependency
InvocationDependencyInvocation
Dependency
ComponentThread Map.ComponentThread Map.
ProcessProcess
ComponentAllocation
ComponentAllocation
PhysicalFault Mgmt
PhysicalFault Mgmt
FaultTolerance
FaultTolerance
EventDependencies
EventDependencies
TimingTiming
LogicalFault Mgmt
LogicalFault Mgmt
ModelComponents
ModelComponents
Parse RoseParse Rose
Filter/TranslateTo XML
Filter/TranslateTo XML
ModelImporterModel
Importer
Application Component
Library (ACL)
Analysis Interchange
Format (AIF)
OEP Configuration
Model Editor
Instrumentation
Well Defined XML Interfaces Enable Tool
Integration
Well Defined XML Interfaces Enable Tool
Integration
Vanderbilt, CMU,
Honeywell, Southwest Research
Vanderbilt, CMU,
Honeywell, Southwest Research
Teknowledge, Vanderbilt
Teknowledge, Vanderbilt
U Michigan, Vanderbilt
U Michigan, Vanderbilt
InstrumentationInstrumentation
RTAS MDES Workshop May 2003 - 12
Development Scenario Example Walkthrough
Development Scenario Example Walkthrough
RTAS MDES Workshop May 2003 - 13
Inter-ViewTranslation
GenerateConfiguration
GenerateConfiguration
Inpu
tT
rans
latio
n
MoBIES-Enabled ProcessMoBIES-Enabled Process
BuildBuild
TestTest
Parse RoseParse Rose
Filter/TranslateTo XML
Filter/TranslateTo XML
Con
figur
atio
nT
rans
latio
n
ThreadingThreading
EventDependency
EventDependency
InvocationDependencyInvocation
Dependency
ComponentThread Map.ComponentThread Map.
ProcessProcess
ComponentAllocation
ComponentAllocation
PhysicalFault Mgmt
PhysicalFault Mgmt
FaultTolerance
FaultTolerance
EventDependencies
EventDependencies
TimingTiming
LogicalFault Mgmt
LogicalFault Mgmt
VU:ESML
ModelComponents
ModelComponents
GME ImporterGME ImporterVU:
ESMLSWRI:
ASC-Scheduler
VU:rr2esml
Tek:MoBIES XML
Exporter
UM:AIRES
Tek:MoBIES
Translator
Application Component
Library (ACL)
Analysis Interchange
Format (AIF)
OEP Configuration
Model Editor
Ana
lysi
sT
rans
latio
n
RTAS MDES Workshop May 2003 - 14
Component SpecificationComponent Specification
• Initial Design of Components Accomplished in Rational Rose– Stereotypes used to express components
RTAS MDES Workshop May 2003 - 15
Inter-ViewTranslation
GenerateConfiguration
GenerateConfiguration
Inpu
tT
rans
latio
n
MoBIES-Enabled ProcessMoBIES-Enabled Process
BuildBuild
TestTest
Parse RoseParse Rose
Filter/TranslateTo XML
Filter/TranslateTo XML
Con
figur
atio
nT
rans
latio
n
ThreadingThreading
EventDependency
EventDependency
InvocationDependencyInvocation
Dependency
ComponentThread Map.ComponentThread Map.
ProcessProcess
ComponentAllocation
ComponentAllocation
PhysicalFault Mgmt
PhysicalFault Mgmt
FaultTolerance
FaultTolerance
EventDependencies
EventDependencies
TimingTiming
LogicalFault Mgmt
LogicalFault Mgmt
VU:ESML
ModelComponents
ModelComponents
GME ImporterGME ImporterVU:
ESMLSWRI:
ASC-Scheduler
VU:rr2esml
Tek:MoBIES XML
Exporter
UM:AIRES
Tek:MoBIES
Translator
Application Component
Library (ACL)
Analysis Interchange
Format (AIF)
OEP Configuration
Model Editor
Ana
lysi
sT
rans
latio
n
RTAS MDES Workshop May 2003 - 16
Exporting the Component data Exporting the Component data
• Scripts Export The Model Data And Filter Out All Non-Component Related Details
RTAS MDES Workshop May 2003 - 17
Inter-ViewTranslation
GenerateConfiguration
GenerateConfiguration
Inpu
tT
rans
latio
n
MoBIES-Enabled ProcessMoBIES-Enabled Process
BuildBuild
TestTest
Parse RoseParse Rose
Filter/TranslateTo XML
Filter/TranslateTo XML
Con
figur
atio
nT
rans
latio
n
ThreadingThreading
EventDependency
EventDependency
InvocationDependencyInvocation
Dependency
ComponentThread Map.ComponentThread Map.
ProcessProcess
ComponentAllocation
ComponentAllocation
PhysicalFault Mgmt
PhysicalFault Mgmt
FaultTolerance
FaultTolerance
EventDependencies
EventDependencies
TimingTiming
LogicalFault Mgmt
LogicalFault Mgmt
VU:ESML
ModelComponents
ModelComponents
GME ImporterGME ImporterVU:
ESMLSWRI:
ASC-Scheduler
VU:rr2esml
Tek:MoBIES XML
Exporter
UM:AIRES
Tek:MoBIES
Translator
Application Component
Library (ACL)
Analysis Interchange
Format (AIF)
OEP Configuration
Model Editor
Ana
lysi
sT
rans
latio
n
RTAS MDES Workshop May 2003 - 18
Event/Invocation Dependency Subview Modeling
Event/Invocation Dependency Subview Modeling
Interaction models must be created in ESML to show the initiating timer object, instances of event types and component types and the connections between them.
Component instances are assigned a unique Group and Item Id.
RTAS MDES Workshop May 2003 - 19
Inter-ViewTranslation
GenerateConfiguration
GenerateConfiguration
Inpu
tT
rans
latio
n
MoBIES-Enabled ProcessMoBIES-Enabled Process
BuildBuild
TestTest
Parse RoseParse Rose
Filter/TranslateTo XML
Filter/TranslateTo XML
Con
figur
atio
nT
rans
latio
n
ThreadingThreading
EventDependency
EventDependency
InvocationDependencyInvocation
Dependency
ComponentThread Map.ComponentThread Map.
ProcessProcess
ComponentAllocation
ComponentAllocation
PhysicalFault Mgmt
PhysicalFault Mgmt
FaultTolerance
FaultTolerance
EventDependencies
EventDependencies
TimingTiming
LogicalFault Mgmt
LogicalFault Mgmt
VU:ESML
ModelComponents
ModelComponents
GME ImporterGME ImporterVU:
ESMLSWRI:
ASC-Scheduler
VU:rr2esml
Tek:MoBIES XML
Exporter
UM:AIRES
Tek:MoBIES
Translator
Application Component
Library (ACL)
Analysis Interchange
Format (AIF)
OEP Configuration
Model Editor
Ana
lysi
sT
rans
latio
n
RTAS MDES Workshop May 2003 - 20
Threading/Process Subview Modeling
Threading/Process Subview Modeling
In the Configurations folder, definethe processors, then double click on them to define the threads and processes running on that processor.
Assign the priority and rate associated with each thread.
RTAS MDES Workshop May 2003 - 21
Constraint CheckingConstraint Checking
• Static Errors Are Caught Either During Modeling Or Analysis
RTAS MDES Workshop May 2003 - 22
Inter-ViewTranslation
GenerateConfiguration
GenerateConfiguration
Inpu
tT
rans
latio
n
MoBIES-Enabled ProcessMoBIES-Enabled Process
BuildBuild
TestTest
Parse RoseParse Rose
Filter/TranslateTo XML
Filter/TranslateTo XML
Con
figur
atio
nT
rans
latio
n
ThreadingThreading
EventDependency
EventDependency
InvocationDependencyInvocation
Dependency
ComponentThread Map.ComponentThread Map.
ProcessProcess
ComponentAllocation
ComponentAllocation
PhysicalFault Mgmt
PhysicalFault Mgmt
FaultTolerance
FaultTolerance
EventDependencies
EventDependencies
TimingTiming
LogicalFault Mgmt
LogicalFault Mgmt
VU:ESML
ModelComponents
ModelComponents
GME ImporterGME ImporterVU:
ESMLSWRI:
ASC-Scheduler
VU:rr2esml
Tek:MoBIES XML
Exporter
UM:AIRES
Tek:MoBIES
Translator
Application Component
Library (ACL)
Analysis Interchange
Format (AIF)
OEP Configuration
Model Editor
Ana
lysi
sT
rans
latio
n
RTAS MDES Workshop May 2003 - 23
AIRES Event Dependency Graphs (EDGs)
AIRES Event Dependency Graphs (EDGs)
• Graphs Are Created To Visualize Event Dependencies
RTAS MDES Workshop May 2003 - 24
Scheduling AnalysisScheduling Analysis
• Utilization Is Shown for Each Processor, and Divided Among Tasks Running on the Processor
RTAS MDES Workshop May 2003 - 25
Inter-ViewTranslation
GenerateConfiguration
GenerateConfiguration
Inpu
tT
rans
latio
n
MoBIES-Enabled ProcessMoBIES-Enabled Process
BuildBuild
TestTest
Parse RoseParse Rose
Filter/TranslateTo XML
Filter/TranslateTo XML
Con
figur
atio
nT
rans
latio
n
ThreadingThreading
EventDependency
EventDependency
InvocationDependencyInvocation
Dependency
ComponentThread Map.ComponentThread Map.
ProcessProcess
ComponentAllocation
ComponentAllocation
PhysicalFault Mgmt
PhysicalFault Mgmt
FaultTolerance
FaultTolerance
EventDependencies
EventDependencies
TimingTiming
LogicalFault Mgmt
LogicalFault Mgmt
VU:ESML
ModelComponents
ModelComponents
GME ImporterGME ImporterVU:
ESMLSWRI:
ASC-Scheduler
VU:rr2esml
Tek:MoBIES XML
Exporter
UM:AIRES
Tek:MoBIES
Translator
Application Component
Library (ACL)
Analysis Interchange
Format (AIF)
OEP Configuration
Model Editor
Ana
lysi
sT
rans
latio
n
RTAS MDES Workshop May 2003 - 26
Configuration GenerationConfiguration Generation
• Interfaces Defined Via UML Meta-Models• XML Configuration Files Generated From
Models Via Scripts– ESML2Config MC__MediumSP.mga
Interface Model
Interface Model
OEP Configuration
File
OEP Configuration
File
RTAS MDES Workshop May 2003 - 27
AccomplishmentsAccomplishments
• End-To-End Automated Model-Based Configuration– From UML Reusable Component Models to
Running Code
• Initial Set Of Real-Time Analyses
• Configuring Representative Avionics Systems Of Up To– ~20 Component Types– ~400 Component Instances– ~3 Processes / processors
• Using– Multiple tools with well-defined XML interfaces– Pervasive meta-modeling
RTAS MDES Workshop May 2003 - 28
ImplementMware
ImplementMware
MiddlewareModeling
Application Modeling
ConfigurationTranslation
InputTranslation
Remaining ChallengesRemaining ChallengesAnalysis
Translation
BuildBuild
TestTest
FaultTolerance
FaultTolerance
EventDependencies
EventDependencies
TimingTimingModel ComponentImplementations
Model ComponentImplementations
Parse RoseParse Rose
Filter/TranslateTo XML
Filter/TranslateTo XML
ModelImporterModel
Importer
Analysis Interchange
Format (AIF)
OEP Configuration
Model Editor
Instrumentation
ComponentDesign
ComponentDesign
Design Generation
Design Generation
InstrumentationInstrumentation
ImplementComponentImplementComponent
GenerateMware Config
GenerateMware Config
Model MwareModel Mware
ThreadingThreading
PersistencePersistence
LogicalFault Mgmt
LogicalFault Mgmt
PhysicalFault Mgmt
PhysicalFault Mgmt
mware configaspect 1…
mware configaspect 1…
ActivationActivation
Event Dependency
Event Dependency
InvocationDependencyInvocation
DependencyComponentAllocation
ComponentAllocation
ProcessProcess
ComponentThread MapComponentThread Map
Appl Comp
Lib (ACL)
GenerateApp
Config
GenerateApp
Config
PIM PSM
Performance OptimizationPerformance Optimization
Round-Trip EngineeringRound-Trip Engineering
Scalability, Usability…Scalability, Usability…
Tool IntegrationTool Integration
Middleware ConfigurationMiddleware Configuration
StandardizationStandardization
Component-Oriented Design
Component-Oriented Design