Nov 02 - Iowa State University
Download
Report
Transcript Nov 02 - Iowa State University
Advanced
Computing
Systems
Contract: F33615-00-C-1624
PM/PI: David Statezni, co-PI: Gary Daugherty, Rockwell Collins
Subcontract: Dr. Suresh Kothari, Iowa State University
Collins Advanced Technology Center / Iowa State University / SEC
Presentation Contents
Subcontractors & Collaborators
Problem Description & Program Objective
Technical Approach
Schedule
Milestones in next 6 months
Technology transition
Slide 2
Subcontractors & Collaborators
Subcontract with Iowa State University
Application of toolset for High Assurance
Analysis/Adaptation to Boeing OCP code
PCES, MoBIES like
Slide 3
Problem Description
Need a multi-dimensional approach to
Software Development
High assurance (HA)
Core software, e.g. OCP Middleware Services
Slide 4
Program Objective
Automated Adaptation of Core Software Using
User Defined “Patterns”
Application to Boeing OCP, using safety and
certification patterns developed by RC, and
Knowledge Centric Software (KCS) toolset
from ISU
Slide 5
Technical Approach
Modeling tools
(GME, Rose, etc.)
Models
HA
Models
KCS
framework
XML/XMI models
Adapted XML/XMI models
(for analysis and
adaptation)
SW
HA
SW
OCP and other software source
(in C++, Java, other languages)
Adapted OCP, and other software
source (in C++, Java, other languages.)
Patterns in XML/XMI
Issues List
Catalog
of patterns for high
assurance software
Slide 6
Technical Approach
Detailed view of KCS framework
Domain Tunable
Components
Source
Parser
XML
reposi
tory
·
Filter
·
Flow analyzer
·
Marker
·
Transformer
XML annotated
Analysis
Refine
Display
GUI
Target
Instrumentation/
code generation
Demand-driven
Visualization
User Interaction
(knowledge)
Slide 7
Technical Approach
“Explicit assignment to loop index is
prohibited within an iteration (while, for,
do…while) at all software levels.”
Boeing. BCA Technical Standard for the Use of C++ in
Airborne Software, D6-82801.
Slide 8
Technical Approach
for (int i = 0; i
< n; i++) {
:
i = ...; //
iterator
reassignment!
:
}
Test
Syntactic Pattern:
for
(#;Body
#; $v_1++) {
Loop
$v_1 = #;
}
for (int i = 0; i <
n; i++) {
int* p = &i;
*p = ...; //
iterator
reassignment!
}
Slide 9
Technical Approach
Target language independence
Language family XML based representation
(XCIL)
Interoperable with OMG (XMI), Java Virtual
Machine (JVM), .NET
Supports JVM languages, .NET languages, C++
Slide 10
Technical Approach
Specification Language for User Defined
“Patterns”
Builds on Aspect-Oriented Programming
Declarative
Pattern = problem abstraction + pointcuts +
transformations
Capable of driving AOP tools, rewriting
transformations, partial evaluation
Slide 11
Project tasks
Develop Issues List
Define target language family program
representation (XCIL)
Translate OCP software to XCIL representation
Define Formal Pattern Specification Language
Manually analyze selected OCP software
Incrementally define/automate/apply patterns
Regression test adapted software (T-Vec)
Slide 12
Schedule
Slide 13
Status
Issues List - complete
XCIL representation - complete + XML Schemas
OCP software parsed to XCIL – 98% complete
Pattern specification language – 30 to 40%
complete
Formal pattern specifications – three,
representative, nearly complete
OCP manual reviews (selected modules) – 75%
complete
Slide 14
Next Milestones
RC specification / ISU implementation of first
round of patterns
RC specification / ISU implementation of second
round of patterns
RC manual review of representative OCP
software
Slide 15
Technology Transition
Issues List – to all
Pattern catalog – to all, when complete
Toolset – to Boeing
Pattern Specification Language - to OMG
Slide 16
Program Issues
Tight schedule
Space and time for running KCS analysis
Licensing of EDG parser
Slide 17