|
| |
Data Modeling toolchain (part of the TASTE tools)
How TASTE works
|
For a list of the latest changes and updates, click here
This page hosts the latest versions of all the software developed by Semantix for the European Space Agency, in the context of ASSERT and the projects that followed it. The tools included are used to automatically create the necessary translation and interworking units that these projects depended on. In essence, they allow code generated by different modeling tools to seamlessly interwork without user involvement in the message marshaling process.
Supported functional modelling:
- MATLAB/Simulink: The tools generate optimal "glue" code that maps data into/from the Real-Time Workshop/Embedded Coder generated data structures. Appropriate skeleton projects are also created, for easy implementation of the MATLAB/Simulink subsystem.
- SCADE/Lustre: The automatically generated "glue" code knows how to directly access the structures created by ESTEREL's KCG, thus allowing access to/from SCADE-generated data. The asn2dataModel transformation generates the necessary .xscade files, which accurately mirror the ASN.1 data types into SCADE. SCADE skeleton projects (with full interface details) are also generated.
- ObjectGeode: The generated "glue" code provides mapping macros that transparently map the data into/from the ObjectGeode-genereated C data structures. This mapping layer is then used by the corresponding signal handling/sending layer. ObjectGeode skeleton projects are also created, for easy implementation of the OG subsystem.
- Ada: the "glue" code includes the necessary C and Ada "bridges", both variables and functions. Ada project skeletons are also created, where the user can simply "fill-in the blanks" of automatically generated template-code, and get completely automatic integration of his code in the end system.
- C: the "glue" code includes the necessary C "bridges", both variables and functions. Skeleton project files are also created, allowing the user to populate the "core" logic, without worrying about message marshalling details.
- VHDL and SystemC (in progress): the "glue" code includes the necessary VHDL "bridges" to intercept read/write accesses over the bus, automatically written device driver to handle the device, as well as SystemC skeleton with all interface details filled in.
For (a lot) more details, please read the User Manual (available from the Downloads section in PDF form, as well as online here).
Automatic GUIs
|
Automatically created GUIs
The code generators included can also automatically create portable wxWidgets-based GUIs that allow their users to easily call any of the provided interfaces and get data back from callbacks. In essence, TeleCommands can be invoked and Telemetries received without writing a single line of code.
Automatically created Python bridges
Testing the (usually complex) logic inside space systems requires big regression checking suites. TASTE tools automatically create Python bridges that offer direct access to the contents of the ASN.1 parameters, as well as direct runtime access to the TM/TCs offered by the system.
All that the user needs to do to create his set of regression checks, is to write simple Python scripts, that exercise any behavioural aspect of the system (e.g. a scenario like this: when I send a TC with value X in param Y, then I expect a TM after a max waiting of Z seconds, with the value K in the incoming param L can be expressed in less than 10 lines of code, with an order of magnitude less work than the corresponding C code).
You can find a complete (standalone) example - with embedded instructions in its comments - here.
Included tools:
- asn2aadlPlus/asn2uml
These tools convert ASN.1 grammars into TASTE-importable Data Type definitions.
- asn2dataModel
This tool converts ASN.1 grammars to Modeling Tool-specific semantically equivalent data type definitions.
- aadl2glueC
This tool converts system level descriptions that include Data Type Packages (constructed
via asn2aadlPlus) to Modeling Tool-specific "glue" code that
implements (at runtime) all necessary mappings of data structures (from asn1scc-generated data structures to Modelling-tool generated data structures).
- asn1scc
This is the space certifiable ASN.1 compiler: it creates encoders and decoders for unaligned PER (uPER) encoded messages, utilizing no dynamic memory and no system calls.
- ICD generator
This tool parses ASN.1 grammars and creates the equivalent Interface Control Documents (ICD) in navigateable hypertext.
License information for the tools is here.
|
|
|