Skip to content

Tool chain design specification

Cecile Braunstein edited this page Nov 15, 2013 · 3 revisions

Organization

There will be one top-level Eclipse project that defines the openETCS tool, using the following artifacts:

org.openetcs.releng.product - the name of the top-level project
openetcs.target - a target definition containing all required components
openetcs.product - a product definition for building the tool

Components will follow the following convention:

  • The component name as a unique identifier (e.g. DataDictionary, without a space and uppercase)
  • The package name below open.openetcs (same as above, but all lowercase)
  • The Namespace URI in the Ecore model (e.g. http://openetcs.org/schema/)

The other projects are organized and named like typical Eclipse/EMF projects. For instance, for the DataDictionary Component, there would be the following projects:

org.openetcs.datadictionary.feature
org.openetcs.datadictionary.model
org.openetcs.datadictionary.edit
org.openetcs.datadictionary.editor
org.openetcs.datadictionary.test 

Specification

Each component has its own wiki page, if the component is a pre-existing tool, at least a link to its documentation should be provided.

For each Component, there is a page containing:

  • Short description of the component
    
  • Link to the data model (if any).
    
  • Links to all Cross-Cutting-Concerns (if any)
    
  • List of all use cases that this Component helps to realize.
    
  • Additional requirements and constraints that are not captured elsewhere.
    

If a Component requires a data model that does not exist yet, the data model link directs to the design document for the data model.

Here an example from the DataDictionary component https://github.com/openETCS/dataDictionary/wiki/Data-Dictionary-Design-Specification.