Download Software User Manual

Transcript
SUM
iss: 6 rev: 3
15.8
UML support
15.8.1
Overview
NLR-EFO-SUM-2
Often Object Oriented design that leads to implementation in C++ is defined in UML. Enterprise Architect is a popular tool to support modeling in UML due to its affordability and abundance of features. An
extension has been built in the form of Enterprise Architect transformation and code generation templates
that you can use to jump start your EuroSim projects. The process from Architecture to Simulator consists of a sequence of steps, where after each step the user can tailor the results further towards specific
needs if desired. An overview of this sequence is shown in Figure 15.4
Figure 15.4: EuroSim UML transformation, generation and building process
In the top left of Figure 15.4 the class diagram defining the architecture is shown. Stereotypes are applied
to identify models and their input-output variables, as well as their composition into a simulator. This
simple diagram is input to the EuroSim transformation, which applies patterns to each model in the
architecture, which results in a package per model with a detailed design and elements in UML. The user
can enhance and elaborate the diagram as required, as long as EuroSim publishing related stereotyping is
applied in order to allow the generation process to create code from these diagrams. The EuroSim tailored
C++ code generation then results in source code files structured on the file system along the package
structure in Enterprise Architect. These files can be included in the EuroSim ModelEditor for building.
After a minor effort to add the EuroSim CPP setup routine, as well as coupling ports via dataflows, the
EuroSim build can create the simulator with its objects, ports and transfers displayed in the EuroSim
dictionary. From this point, schedules, scenarios and simulation definitions can be created to utilize
the simulator in various simulations in the usual way.Of course at this point there is no functionality
integrated in the code yet, it is an empty framework where algorithm developers and hardware interface
developers can fill the entrypoints with C++ code. This is also a major benefit as the strcuture of code is
provided, and that structure allows everyone to work in the same simulator software, yet only scheduling
their own model and stimulating the ports with data for testing.
The following sections provide more detail om each of the three processes.
208
c Airbus Defence and Space