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.
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.
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.
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.
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'.
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 frameworksIn 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.