Skip to content

Integration of Data Dictionary into Papyrus (Deprecated)

lfronc edited this page Nov 19, 2014 · 1 revision

Proposal

News


A a prototype of the data dictionary online at: https://github.com/astante/openetcs-updatesite The source code may be found here : https://github.com/astante/openetcs-datadictionary

To install it, just add https://raw.github.com/astante/openetcs-updatesite/master as an update site and install “Common openETCS Plugins”. After restarting Eclipse, just right click on the UML/SysML model in the Model Explorer and select Import -> Import Registered Package and select Subset-026-7. After that you can use the datatypes from the data dictionary. This is the same approach as described here: https://github.com/astante/openetcs-sysml-to-b in the UML Library section.

Keep in mind that this is a prototype and I just transformed the packets and variables from the xml as types. Any comments are welcome and I suggest that as preparation for the tomorrow telco everyone should at least try to install the plugin and add the data dictionary to a SysML model to get a feeling about the usage.


This page describes a proposal to integrate the Data Dictionary into Papyrus. The main design descisions are to use as much as possible standard technologies and languages like UML. The rational behind this idea is to allow great reuse of artifact created within openETCS and not to lock-in created artifacts within the openETCS toolchain. As a side effect, there is less development to do.

Integration of the Data Dictionary

The Data Dictionary contain information from the SRS that should be shared between all created modeling artifacts. A way to make such shared data available is to create a UML package which contains all the information of the Data Dictionary. A SysML Model could import such a UML package <PackageImport> and then allows to reuse all the contents of the Data Dictionary.

This approach is already used in Eclipse to make primitive types of Java, Ecore, SysML, and XML available.

Pros

  • Use of standard UML mechanisms makes it easier to use the artifacts with other tools e.g. other UML Modeler
  • Checks can be easily written to ensure for example that only data types from the Data Dictionary are used
  • Editor for the Data Dictionary already exists (Papyrus) and new entries can easily be added (Project members have already experience with Papyrus modelling)

Cons

  • Probably not every aspect can be described with plain UML, however a profile could be created, which adds missing information (e.g. value range)

How does a UML Library in Papyrus looks like

The following screenshots show how an integration of a UML Library would look like. Just ignore that the library is called ClassicalBPrimitiveType and imagine something like EtcsDataDictionary ;)

The imported types can easily be selected as shown in the following figure

General flow

The following image shows how the workflow could look like

What has to be done?

  • Define a mappging between Bitwalker Data and UML elements
  • Create a transformation from Bitwalker XML to UML model
  • Create a plugin that registers a UML model as an UML library
Clone this wiki locally