Plug-In Structure
Currently, TRex consists of the following plug-ins/SVN directories (some older documentation may still refer to an outdated structure) that are located in trunk:
- artwork: Sources for some of the graphics used inside the plug-ins/Wiki. (Not required for build.)
- com.yourkit.profiler.controller: We use the Yourkit Java Profiler for performance optimisation. Even if you are not interested in performance optimisation, you currently have to check out this plug-in since some of the other TRex plug-ins have dependencies to this plug-in.
- de.ugoe.cs.swe.trex: The TRex "feature", i.e. no behaviour, but an XML definition (feature.xml) of the plug-ins constituting TRex. Used in particular for providing TRex via the update site as an add on of the Eclipse SDK. (Not necessarily required for manual build.)
- de.ugoe.cs.swe.trex.productfeature: A "feature" just like above, but this time for providing TRex as a standalone product. (Not necessarily required for manual build.)
- de.ugoe.cs.swe.trex.automatedtestfeature: A "feature" bundling all test plugins. (Not required for manual build.)
- de.ugoe.cs.swe.trex.antlr: The ANTLR 2.7.x library.
- de.ugoe.cs.swe.trex.build: The automated build system (refer to README). (Not required for manual build.)
- de.ugoe.cs.swe.trex.core: Core non-UI functionality (parsing, symbol table, etc.). If you are interested in the parser, check package de.ugoe.cs.swe.trex.core.analyzer.rfparser. If you are in particular interested in the standalone usage (independent from Eclipse), please refer to the Wiki page TRex Standalone Usage.
- de.ugoe.cs.swe.trex.refactoring.core: non-UI parts of refactoring, i.e. the actual transformation. If you are interested in the refactoring implementation, check package de.ugoe.cs.swe.trex.core.refactoring.core.
- de.ugoe.cs.swe.trex.refactoring.ui: UI parts of refactoring, i.e. dialogs.
- de.ugoe.cs.swe.trex.tests: The automated JUnit PDE tests (refer to README). (Not necessarily required for build.)
- de.ugoe.cs.swe.trex.ui: The UI parts of TRex (views, preferences dialogs, etc.) Contains also the trex.product file.
- de.ugoe.cs.swe.trex.ui.help: The Eclipse help system for TRex (optional).
- sitexmlTask: An ANT task required for creating the site.xml update site file during automated build. (Not required for manual build.)
We are currently preparing a new release of TRex. Hence future TRex releases will consist also of:
- de.ugoe.cs.swe.trex.compiler.*: A pluggable compiler integration.
- de.ugoe.cs.swe.trex.patterndetection.* and de.ugoe.cs.swe.trex.tptp: Detection of code smells in TTCN-3 source code.
- de.ugoe.cs.swe.trex.swemetrics.*: Calculation of further TTCN-3 metrics.
- de.ugoe.cs.swe.trex.*.callgraphanalysis and de.ugoe.cs.swe.trex.*.controlflowanalysis: Analysis and visualisation of control flow and call graphs (visualisation requires Eclipse Graphical Editing Framework (GEF)).
- org.codehaus.xstream: Used for XML-based serialisation of preferences.
In addition to the above TRex plug-ins, there exist the following directories in trunk:
- parserDemo: Some sample files that describe how to use the semantical analysis facilities (e.g. symbol table) of TRex from command-line instead of launching Eclipse first. (Description available on TRex Standalone Usage.)
- sampleTestsuites: A few very basic TTCN-3 examples that may be used to demonstrate the usage of TRex.
In parallel to the canonical trunk, tags, and branches directories, there is currently:
- web: Files used as part of this web site.
There may be further directories in the SVN repository which require authorization to be accessed. They contain stuff which has not been publicly released, yet.
