Boston (Burlington), Mass. November 14-15, 2018

Slides:



Advertisements
Similar presentations
OBP Research Oy for simpler creation of embedded systems.
Advertisements

Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
Technical Architectures
Copyright © 2011 Raytheon Company. All rights reserved Customer Success Is Our Mission is a registered trademark of Raytheon Company. Statement A: Approved.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
- 1 - Component Based Development R&D SDM Theo Schouten.
Chapter 8 Object Design Reuse and Patterns. Finding Objects The hardest problems in object-oriented system development are: –Identifying objects –Decomposing.
CS884 (Prasad)Java Goals1 “Perfect Quote” You know you've achieved perfection in design, Not when you have nothing more to add, But when you have nothing.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Lecture 1: Overview of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Future Airborne Capability Environment (FACE)
TRACECA TRAINING Experience Eng. Cristina AMARAZEANU Head Office of Planning and Strategy Department Bucharest, Romania 23 rd of November 2011.
第十四章 J2EE 入门 Introduction What is J2EE ?
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
OOP Class Lawrence D’Antonio Lecture 3 An Overview of C++
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
VxWorks Fall 2005 Final Project CS 450: Operating Systems Section 1 Kenneth White Josh Houck Karl Ridgeway Mike Ripley Morgan Serene.
Directions for the Next Generation of Ada Randall Brukardt, ARG Editor AXE Consultants.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
Real Time Programming Language. Intro A programming language represents the nexus of design and structure. But misuse of the programming language can.
CSC480 Software Engineering Lecture 10 September 25, 2002.
CSE 303 – Software Design and Architecture
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
© 2016 LDRA Ltd The FACE Conformance Verification Matrix in Practice.
© 2015 Wind River. All Rights Reserved. Integrating FACE™ Aligned Componentry Larry Kinnan Principal Technologist, Wind River.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
TTCN-3 Testing and Test Control Notation Version 3.
Kentico Learning Management System The Academy.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Enhancement of ARINC 653 for Multi-core Hardware
Object Oriented Programming in
The Role of Reflection in Next Generation Middleware
Using Ada-C/C++ Changer as a Converter Automatically convert to C/C++ to reuse or redeploy your Ada code Eliminate the need for a costly and.
Chapter 4: Threads.
Done By: Ashlee Lizarraga Ricky Usher Jacinto Roches Eli Gomez
Types for Programs and Proofs
TECHLEADS IT Oracle Apps ADF R12
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Chapter 4: Threads.
Software Reuse Objectives
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Chapter 4: Threads.
Ada – 1983 History’s largest design effort
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 2: System Structures
Embedded Development Application Note: Endian-Independence
QGen and TQL-1 Qualification
Market perspective - what’s new and where are we heading?
AdaCore C/C++ Offering
Yes, we do those languages too.
Chapter 2: The Linux System Part 1
Module 01 ETICS Overview ETICS Online Tutorials
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
Access DocuWare .NET API from Java Desktop Application
Dynamic Exchange of Capabilities Between Mobile Agents
ENERGY 211 / CME 211 Lecture 27 November 21, 2008.
Oriented Design and Abstract Data Type
Yes, we do those languages too.
Future Airborne Capability Environment (FACE™) Support
Executable Specifications
Enterprise Web Services
From Use Cases to Implementation
Contract Management Software from ContraxAware Simplify Your Contract Management Process.
Introduction to AltaAPI™
Presentation transcript:

Boston (Burlington), Mass. November 14-15, 2018

AdaCore Support for FACE™ Ben Brosgol November 15, 2018

Forever Ada Capability Environment What Is FACE? Forever Ada Capability Environment

Future Airborne Capability Environment What Is FACE? Future Airborne Capability Environment

What Is FACE? Focuses on component portability / reuse Government/industry approach to reducing system life cycle costs for airborne systems Focuses on component portability / reuse Does not guarantee fitness for purpose or compliance with safety / security standards Technical: Reference architecture Business: Conformance policy and procedures Website: www.opengroup.us/face/

FACE Platform Example (Simplified) FACE Application Transport System Segment Interface Portable Components Segment Operating System Language Run-Time Other Services API Profiles (POSIX, ARINC 653) Language Capability Sets Operating System Segment Low-Level Platform-Dependent Services

Profiles and Capability Sets Applications vary in assurance requirements API subsets (profiles) & language subsets (capability sets) specified for Operating System Segment Profiles Vary based on partitioning, determinism, assurance General-Purpose Safety Extended Base Security Capability sets Defined for C, C++, Ada, Java General-Purpose Safety-Extended Safety-Base & Security

How Does This Relate to AdaCore? FACE interest from customers and partners Ada language support in FACE Technical Standard Ada 95 and Ada 2012 capability sets Mapping IDL to Ada FACE support in AdaCore products Run-time libraries implement the Safety/Security capability sets Cert Ravenscar-Cert GNATcheck can help enforce capability set restrictions FACE conformance policy

Ada 95 Capability Sets (FACE 3.0) General-Purpose Most of the language Safety-Extended General-purpose, with restrictions Ravenscar tasking (or API: Posix, ARINC 653) Most of exception handling Dynamic allocation only during elaboration Safety-Base & Security Safety-Extended, with additional restrictions Last-chance handler No dynamic allocation

Ada 2012 Capability Sets (FACE 3.0) General-Purpose Restrictions similar to Ada 95 General-Purpose set Static subtype predicates allowed Contract-based programming features excluded Safety-Extended Safety-Base & Security Absent

Ada Capability Sets (FACE 3.1, proposed) Same as in FACE 3.0 Ada 2012 General-Purpose Allow contract-based programming Safety-Extended Safety-Base & Security Allow more general exception handling Allow dynamic allocation during elaboration Restrictions similar to those in the Ada 95 capability set, but based on Ada 2012

Ada 2012 and Dept. of Defense Guidance Defense Innovation Board Do’s and Don’ts for Software: Ada 2012 directly supports this “Do” Do: Use modern languages and operating systems

Enforcing the Capability Set Restrictions pragma Restrictions pragma Profile (Ravenscar) GNATcheck tool

Mapping IDL to Ada Issue: legal IDL inter-module dependences can lead to illegal Ada inter-package circularities Solution Module reopenings mapped to auxiliary child packages not visible to application units Principal package, visible to application, contains renamings of declarations from the auxiliary packages // IDL module A { typedef short Foo; } module B { typedef A.Foo Bar; }; module A { const B.Bar k=10; }; with B; -- Illegal Ada with FACE; package A is subtype Foo is FACE.Short; K : constant B.Bar := 10; end A; with A; package B is subtype Bar is A.Foo; end B;

AdaCore Run-Time Libraries for FACE Criteria for inclusion Used in existing code Justifiable certification cost Cert Simple memory management Most exception handling Restricted predefined library APEX bindings for concurrency Ravenscar-Cert Cert + Ravenscar tasking Full Ada (General-Purpose capability set) Each supports both the Safety-Base & Security and Safety-Extended capability sets

Summing Up: AdaCore Supports FACE Actively participate in FACE Consortium Working Groups Technical Interchange Meetings Provide run-time libraries meeting FACE portability and DO-178B/C certification requirements Wind River VxWorks 653 (V2.5, 3.x) Lynx Software Technologies LynxOS-178 (V2.2.4) Ensure that Ada advantages are being realized IDL-to-Ada mapping Ada 2012 capability sets

AdaCore FACE-Related Articles Towards Safety and Security in FACE™ Components: High Assurance with Portability; B. Brosgol, D. Smith; Military Embedded Systems, March 2018 mil-embedded.com/articles/toward-components-high-assurance-portability/ Ada Language Run-Times and the FACE™ Technical Standard: Achieving Application Portability and Reliability; B. Brosgol, P. Rogers, D. Smith; Army FACE™ Technical Interchange Meeting, Huntsville AL; Sept. 2018 www3.opengroup.org/node/3933 Portable, Reliable and Efficient Concurrency: Ravenscar Ada Tasking and the FACE™ Safety Profiles; B. Brosgol. P. Rogers, D. Smith; Military Embedded Systems, November-December 2018 (not yet online)