AADL et la conception des logiciels



Similar documents
Presentation of the AADL: Architecture Analysis and Design Language

Linux A multi-purpose executive support for civil avionics applications?

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers

Your partner when introducing and using modern software development tools. Klaus Wachsmuth Dr. Peter Dencker

Managing the Knowledge Exchange between the Partners of the Supply Chain

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

SysML Modelling Language explained

Software in safety critical systems

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Il est repris ci-dessous sans aucune complétude - quelques éléments de cet article, dont il est fait des citations (texte entre guillemets).

Architecture Description Languages

Trends in Embedded Software Engineering

Comparison of Component Frameworks for Real-time Embedded Systems

Certification of a Scade 6 compiler

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Antonio Kung, Trialog. HIJA technical coordinator. Scott Hansen, The Open Group. HIJA coordinator

F-22 Raptor. Agenda. 1. Motivation

A hypervisor approach with real-time support to the MIPS M5150 processor

REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT

DIPLODOCUS: An Environment for. the Hardware/Software Partitioning of. Institut Mines-Telecom. Complex Embedded Systems

Model-Based Software Quality Assurance with the Architecture Analysis and Design Language

«Object-Oriented Multi-Methods in Cecil» Craig Chambers (Cours IFT6310, H08)

On-board Software Reference Architecture for Payloads

The SPES Methodology Modeling- and Analysis Techniques

Architecture. Reda Bendraou

How To Write A Train Control System

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

ARINC 653. An Avionics Standard for Safe, Partitioned Systems

ARINC-653 Inter-partition Communications and the Ravenscar Profile

Design of automatic testing tool for railway signalling systems software safety assessment

Real Time Developer Studio. Emmanuel Gaudin

Model Transformations and Code Generation

Tech Day IBM 28 août 2009 RAT06P3 Introduction à Rhapsody Architect pour l Ingénierie des Systèmes et des Logiciels Embarqués

TASTE: An open-source tool-chain for embedded system and software development

Applying 4+1 View Architecture with UML 2. White Paper

IV. Software Lifecycles

IEC Functional Safety Assessment. Project: K-TEK Corporation AT100, AT100S, AT200 Magnetostrictive Level Transmitter.

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Designing Real-Time and Embedded Systems with the COMET/UML method

Efficient and Faster PLC Software Development Process for Automotive industry. Demetrio Cortese IVECO Embedded Software Design

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

Reusable Connectors in Component-Based Software Architecture

How To Test On A Model Driven Test On An Embedded System

Introduction of ISO/DIS (ISO 26262) Parts of ISO ASIL Levels Part 6 : Product Development Software Level

An integrated approach to implement system engineering and safety engineering processes: SASHA Project

Compliance and Requirement Traceability for SysML v.1.0a

A methodology for secure software design

EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS

ARINC Specification 653 Based Real-Time Software Engineering

Requirements engineering

IBM Rational Rhapsody

3SL. Requirements Definition and Management Using Cradle

ESMA REGISTERS OJ/26/06/2012-PROC/2012/004. Questions/ Answers

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Chapter 1: Introduction

Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow

Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12

Real-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek

Karunya University Dept. of Information Technology

Test Driven Mobile Applications Development

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

ELEC 5260/6260/6266 Embedded Computing Systems

Requirements Engineering Management Findings Report

Frameworks of Process Improvement for Mobile Applications

Industrial Application of MultiPARTES

Administrer les solutions Citrix XenApp et XenDesktop 7.6 CXD-203

Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics

TASTE: A Real-Time Software Engineering Tool-Chain Overview, Status, and Future

The main concepts for object approaches and UML

Successes in the development and production of medical products

25.1 Translational Frameworks (MDA with transformations)

Validation of Safety-Critical Systems with AADL

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

A Model-Based Design Methodology with Contracts to Enhance the Development Process of Safety-Critical Systems

Generating Aspect Code from UML Models

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Safety Lifecycle illustrated with exemplified EPS

Introduction. GEAL Bibliothèque Java pour écrire des algorithmes évolutionnaires. Objectifs. Simplicité Evolution et coévolution Parallélisme

System Requirements Orion

SOFTWARE QUALITY MANAGEMENT THROUGH IMPLEMENTATION OF SOFTWARE STANDARDS

A web-based multilingual help desk

Backup Scanner Module

Sun TM SNMP Management Agent Release Notes, Version 1.6

METHOD & TOOLS TO SECURE AND SUPPORT COLLABORATIVE ARCHITECTING OF CONSTRAINED SYSTEMS

How To Develop Software

Fleetware People cars - information Radium s.r.o. Czech Republic

Transcription:

AADL et la conception des logiciels Pierre Dissaux, journée Féria/SVF, 2 décembre 2003

System Lifecycle System Engineering System Integration Hardware Engineering Software Engineering

from System Engineering Software Design functional tests scenarii to System Integration Software Requirements Analysis coverage unit tests scenarii Software Functional Testing SW requirements Software Design reverse Software Unit Testing System Requirements - Hardware - Operating System Realization Constraints - Team Organization - Technical Choices - Quality Standards generation Software Coding coverage coverage

Les logiciels critiques faster, better, cheaper General characteristics: standardized development process long term projects and many partners collaborative ground & on-board software dependable software Complexity Additional characteristics for on-board software: for avionics: safety for space vehicles: environment constraints Need for software development methods and tools: ensure requested high level of quality paradox: need for maturity and innovation really operational concepts to increase productivity enforced by standards: DO-178B, ECSS-E40, EN-50128, ISO-12207, etc...

Conception des logiciels critiques Good Software Engineering practices: well defined architectural & detailed design process requirements traceability documentation framework, etc... model-based engineering Managing the complexity: designing in the large: hierarchical decomposition distributed development: modularity interfaces mixed paradigms: function oriented object oriented task oriented for real-time SW Modeling real-time: reaching deadlines: -> mastering control flows no loss of data: -> mastering data flows predefined RT components supporting RT executives

Les techniques basées modèle Description du Système exemple: Mathlab/Simulink utilisation intensive de bibliothèques de composants spécialisés études paramétriques, dimensionnement, prototypage, simulation si modèle formel: possibilité de générer du code, mais rarement Description du Logiciel spécifier avant de concevoir concevoir avant de coder masquer la complexité: boîtes noires, composants Temps-Réel automatiser la production du code et de la documentation Langages de modélisation AADL UML2.0 HOOD

AADL Avionics Architecture Description Language Avionics Architecture Description Language: Emerging SAE Standard, AS-2C AADL working group Specification language for avionics systems Software & Hardware components, features & properties An AADL specification describes: how components are assembled or integrated the functional interfaces (control and data flows) the non-functional properties (i.e. timing) Field of application: embedded systems with: challenging resource (size, weight, power) strict real-time response requirements specialized input/output hardware need to be certified to high levels of assurance

AADL components Components categories Software: data, threads and processes Hardware: memories, processors, devices and buses Compound: systems and modes Components definition Component type: functional interface Component implementation Component instance: a subcomponent in a component implementation Features Ports: data, event or event data Subprograms Data Properties: ex: real time properties

UML2.0 Unified Modeling Language Emerging OMG standard Structure Diagrams: new in UML2.0 modeling Components, Interfaces, Connections black box and white box views name provided interface <<component>> :name1 required interface <<component>> :name2 connectors in a UML 2.0 component

Design Method: HOOD Hierarchical Object Oriented Design Standardized by ESA A set of concepts: Modules, Operations, Types,... A set of notations: Graphical and Textual A set of rules: design process and verification

HRT-HOOD Hard Real Time Additional design constraints to comply with the Ravenscar profile HRT objects HRT operation constraints Real-Time attributes

Composants spécialisés Modélisation Temps-Réel Objets cycliques, sporadiques ou protégés en HOOD Process, threads et data en AADL Flots de contrôle et de données Relations Use et contraintes d exécution en HOOD Ports et connections en AADL Propriétés spécifiques au temps-réel Real-time attributes (deadline, wcet,...) en HOOD Scheduling properties en AADL Prise en compte de l environnement d exécution Modélisation explicite: on décrit le RTOS comme une application Modélisation implicite: règles de conception et de génération de code

Ada Ada 83 83 History HOOD 1.0 (1987) Booch (1986) metah (1993) HOOD 3.0 (1989) HOOD 3.1 (1992) OMT (1991) Ada Ada 95 95 HOOD 4.0 (1995) HRT-HOOD (1995) UML 1.1 (1997) HOOD HOOD UML 1.4 (2001) Ada Ada 0y 0y AADL (2004) UML 2.0 (2004?)

All together AADL textual notation UML2.0 graphical notation HOOD process mapping AADL UML 2.0 HOOD com ponent com ponent (parent) m odule subcom ponent part (child) module provides features provided interface provided interface required subcomponents required interface required interface (server) containm ent connection delegate (provided) implem ented_by (client) containm ent connection delegate (required) use (uncle) com ponents connection assem bly use (sibling) AADL semantics UML2.0 semantics HOOD semantics semantics can be formally specified with a UML meta model

Small design example -------------------------------------- OBJECT SYSTEM_CONFIGURATION IS PASSIVE INTERNALS OBJECTS ex1aadl; Display_driver; OS; END SYSTEM_CONFIGURATION -------------------------------------- OBJECT ex1aadl IS ACTIVE PRAGMA main(operation_name => start) PROVIDED_INTERFACE OPERATIONS start OBJECT_CONTROL_STRUCTURE CONSTRAINED_OPERATIONS start CONSTRAINED_BY ASER ; REQUIRED_INTERFACE OBJECT Display_driver; OPERATIONS refresh; INTERNALS OBJECTS client; server; sensor; refresh; monitor; OPERATIONS start IMPLEMENTED_BY client.exec; END ex1aadl --------------------------------------

Generated AADL code (1) SYSTEM SYSTEM_CONFIGURATION IS start : IN EVENT; END SYSTEM_CONFIGURATION; SYSTEM IMPLEMENTATION SYSTEM_CONFIGURATION.default IS ARINC : SYSTEM system.arinc; Ex1aadl : PROCESS Ex1aadl.default; Display_driver : PROCESS Display_driver.default; standard : PACKAGE standard.default; CONNECTIONS EVENT Ex1aadl.start <- start; EVENT Ex1aadl.sensor_interrupt <- ARINC.sensor_interrupt; EVENT DATA Display_driver.value <- Ex1aadl.value; END SYSTEM_CONFIGURATION.default;

Generated AADL code (2) PROCESS Ex1aadl IS start : IN EVENT; sensor_interrupt : IN EVENT; value : OUT EVENT DATA NIL.integer; END Ex1aadl; PROCESS IMPLEMENTATION Ex1aadl.default IS client : THREAD client( monitor => monitor ).default; server : THREAD server.default; sensor : THREAD sensor( monitor => monitor ).default; refresh : THREAD refresh( monitor => monitor ).default; monitor : MONITOR monitor.default; CONNECTIONS EVENT client.exec <- start; SUBPROGRAM server.request <- client.request; EVENT sensor.start <- sensor_interrupt; END Ex1aadl.default;

Generated AADL code (3) THREAD client IS exec : IN EVENT; request : CLIENT SUBPROGRAM (value : IN monitor.t_value, result : OUT monitor.t_value); REQUIRES monitor : MONITOR monitor; END client; THREAD IMPLEMENTATION client.default IS PROPERTIES Scheduling_protocol => aperiodic; END client.default; THREAD server IS request : SERVER SUBPROGRAM (value : IN monitor.t_value, result : OUT monitor.t_value); END server; THREAD IMPLEMENTATION server.default IS PROPERTIES Scheduling_protocol => server; END server.default;

Generated AADL code (4) THREAD sensor IS start : IN EVENT; REQUIRES monitor : MONITOR monitor; END sensor; THREAD IMPLEMENTATION sensor.default IS PROPERTIES Scheduling_protocol => sporadic; Deadline => 10; Compute_Time => 5; END sensor.default; MONITOR monitor IS T_value : TYPE; END monitor; THREAD refresh IS REQUIRES monitor : MONITOR monitor; END refresh; THREAD IMPLEMENTATION refresh.default IS PROPERTIES Scheduling_protocol => periodic; Period => 10; Deadline => 5; Compute_Time => 5; END refresh.default;

Stood v5 The HOOD design process, ( + semantics, graphical & textual notations ) The AADL semantics ( + textual notation ) The UML 2.0 standard graphical notation

System Lifecycle improvement System Engineering System Integration Hardware Engineering Software Engineering