170 likes | 284 Views
Presentation Contents. Subcontractors & Collaborators Problem Description & Program Objective Technical Approach Schedule Milestones in next 6 months Technology transition. Subcontractors & Collaborators. Subcontract with Iowa State University
E N D
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.) HA Models Models KCS framework (for analysis and adaptation) Adapted XML/XMI models XML/XMI models 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
XML annotated Technical Approach • Detailed view of KCS framework Domain Tunable Components · Filter · Flow analyzer · Marker · Transformer Analysis Source XML repository Parser Refine Display Target GUI 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
Test Loop Body Technical Approach for (int i = 0; i < n; i++) { : i = ...; // iterator reassignment! :} Syntactic Pattern: for (#; #; $v_1++) { $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