Monday, August 7, 2017

Introducing AADL and Its Tools

Introducing AADL and Its Tools

What is AADL?

The Architecture Analysis & Design Language, AADL, is designed for the specification, analysis, automated integration and code generation of real-time performance-critical (timing, safety, schedulability, fault tolerant, security, etc.) distributed computer systems. It provides a new vehicle to allow analysis of system designs (and system of systems) prior to development and supports a model-based, model-driven development approach throughout the system life cycle.



Ocarina

Ocarina is a stand-alone AADL model processor, written in Ada. It is distributed under the GPLv3 plus runtime exception.

It supports the following features:

• Parser: support both AADL1.0 and AADLv2 syntaxes;
• Code generation: targetting C real-time operating systems: RT-POSIX, Xenomai, RTEMS; and Ada using GNAT for native and Ravenscar targets;
• Model checking: mapping of AADL models onto Petri Nets, timed (TINA) or colored (CPN-AMI);
• Schedulability analysis: mapping of AADL models onto Cheddar or MAST models
• Model Analysis: using the REAL language, one can analyse an AADL model for particular patterns or compute metrics.
Ocarina is an independent tool, it can either be used
• Stand-alone: from the commande line
• OSATE2 Integration: Ocarina can also be integrated to OSATE2 using a dedicated plug-in, see the following page for more details.
• Library: Ocarina can be integrated in third-party tool, like Cheddar.

Ocarina runs on Linux, Windows, Mac OS X. Thanks to Ada portability, it can be ported to any platform supported by GNAT for native development.



AADL Tool: TASTE toolchain supported by the European Space Agency
 

 
AADL Tool: OSATE that includes a modeling platform, a graphical viewer and a constraint query languages


Code Generation with AADL: A State-of-the-Art Report

Their approach integrates two different modeling notations to capture system concerns:

1.The architecture is specified using AADL. This architecture defines the execution environment, software deployment, and configuration and includes the number of tasks, allocation to a processor, binding of a connection on a specific bus to transport data, and other specifications. Some people relate to this view as the so-called nonfunctional architecture (how the system provides its functions).

2.The behavior is specified using Simulink, which characterizes how the system processes and uses the data from its environment, for example, to compute new data or activate a device. Some relate to this view as the functional architecture (what functions the system provides).



Simulink

Simulink, developed by MathWorks, is a graphical programming environment for modeling, simulating and analyzing multidomain dynamic systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers tight integration with the rest of the MATLAB environment and can either drive MATLAB or be scripted from it. Simulink is widely used in automatic control and digital signal processing for multidomain simulation and Model-Based Design.



Project P

The goal of Project P is to support the model-driven engineering of high-integrity embedded real-time systems by providing an open code generation framework able to: 1. Verify the semantic consistency of systems described using safe subsets of heterogeneous modeling languages, ranging from behavioural to architectural languages and presenting a synchronous and asynchronous semantics (Simulink/Matlab, Scicos, Xcos, SysML, MARTE, UML).
2.Generate optimized source code for multiple programming (Ada, C/C++) and syntesis (VHDL, SystemC) languages.
3. Support a multi-domain (avionics, space, and automotive) certification process by providing open qualification material.



Function Model

A function model or functional model in systems engineering and software engineering is a structured representation of the functions (activities, actions, processes, operations) within the modeled system or subject area.


Business Process Execution Language

The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Processes in BPEL export and import information by using web service interfaces exclusively.



AADL on IEEE Xplore
Google Search for AADL Code Generation
AADL Tutorials on YouTube


(LABEL) AADL Eclectics
(LABEL) Code Generation Eclectics




Copyright ©2017, Software Developer, All rights reserved.
See Contents

No comments:

Post a Comment