Cordet Data Handling Framework and Cordet Control Framework

This is the web site for the Cordet Data Handling Framework and Cordet Control Framework that have been developed within the CORDET project. Both frameworks are merged to single UML2 model and are distributed along with the FW Profile to demonstrate its capabilities. A simple test harness for both frameworks is also available.

The framework was designed by Alessandro Pasetti and Ondrej Rohlik. More information can be obtained by contacting the authors.

Copyright and Licence

All the results of this project are publicly available under the Eclipse Public License (EPL) . This includes the project documentation and all the software developed in the project in both source and compiled form.

UML2 Model

The Cordet Data Handling Framework and Cordet Control Framework UML2 model is bundled in the FW Profile distribution where it serves as a demonstration of the FW Profile capabilities. The UML2 model can be extracted from the com.pnp.cordet.design plug-in distributed with the FW Profile. The model is located in the model subfolder of the plug-in. In this folder there are both the UML2 model per se (CordetDhAndAocsFw.uml) and the Topcased-specific file CordetDhAndAocsFw.umldi that contains all UML diagrams. To open the UML2 model in Topcased you are advised to right-click the CordetDhAndAocsFw.umldi file and choose Open With and then UML Editor.

The model is valid UML2 model. Both FW Profile Validator and OO Validator report no validation errors. There are 161 warning which is safe to ignore. They all relate to parameters of behaviors and element redefinitions.

Documentation

The Cordet Data Handling Framework and Cordet Control Framework documentation is located in the doc subfolder of the com.pnp.cordet.design plug-in distributed with the FW Profile. This model documentation was generated from the UML2 model using the FW Profile Design Documentation Generator tool.

Functional Code Generator

The functional code generator for the Cordet Data Handling Framework and Cordet Control Framework is distributed with the UML2 model. The the functional code generator is lcoated in the uml2ada05 directory of the com.pnp.cordet.design plugin. Open the uml2Ada2005.m2t MOF Script file with MOF Script editor and run the generator on the UML2 model (in the same plugin as model/CordetDhAndAocsFw.uml). Check the output directory for generated Ada files. Note that the output directory can be specified by right-clicking the uml2Ada2005.m2t file, selecting 'Properties' and 'MOFScript Properties'.

Test Harness

There is a test harness that we have developed to test both our frameworks. We decided to make this test harness available since it demonstrates how components are linked together which may be useful to see for new users of the frameworks.

The test harness is a sample instantiations of a framework. It consists of a main file (exercising wide range of framework classes working together) and stubs. The stubs are placeholders for application specific implementations. For example, BM_ChangeMode component was created as a stub in order to test behavior of Telecommand component (the BM_ChangeMode class extends the abstract Telecommand class and implements its abstract methods).

The Cordet Data Handling Framework and Cordet Control Framework Distribution contains one test harness for each framework and few additional auxiliary code bases

  • test-generated-files contains the Ada 2005 source files of both Cordet Data Handling Framework and Cordet Control Framework that were generated from the UML2 model using the functional code generator. These sources are made available as Ada05 code for your convenience.
  • test-harness-dh contains the set of Ada source files that (together with test-generated-files) constitutes the test harness for Cordet Data Handling Framework. The directory contains Ada source files for various stubs, GPS project file, and pre-created obj directory for compiled binary. The test-harness-stubs is required to compile the test harness.
  • test-harness-control contains the set of Ada source files that (together with test-generated-files) constitutes the test harness for Cordet Control Framework. Its content and requirements are the same as for test-harness-dh.
  • test-harness-stubs contains placeholders shared by both frameworks

In order to compile any of the test harness, the generated files (or those in test-generated-files) must be merged with the either test-harness-control or test-harness-dh. Then the project file in harness-files can be used to compile the test.

The above described test harness is backed with five additional mini-programs that are designed to exercise selected aspects of the framework classes.

  • main.TcStep7Step5.adb
  • main.PreTmTest.adb
  • main.TmTest.adb
  • main.BothTmAndTcTest.adb
  • main.BothTmAndTcTestNonMMC.adb

These mini-programs are distributed with the com.pnp.cordet.design plug-in in the test-harness-stubs/main directory. They are used to test the framework classes and to illustrate how these classes are used. Where appropriate, stubs have been created to represent dummy instantiations of framework interfaces.