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