UmpleArchitectureMOTLTracingSubsystem

TCLethbridge edited this page Jun 14, 2016 · 6 revisions
Clone this wiki locally

The following are links to relevant files in Umple related to tracing

This is one of the pages describing Umple Architecture

Tracing in Umple is a capability that allows code to be generate that outputs data at runtime about various events of importance. These may include setting of attributes, linking or unlinking of associaition links, state transitions, etc.

Existing infrastructure regarding tracing can be found in the following user manual page.

Proposed extensions to the tracing infrastructure can be found here: DraftManualPages As a rule, when improving the syntax or semantics, please update the draft manual pages first, then update the tests, then implement the feature, and finally update the actual manual pages.

Trace grammar

This is the sub-page for the tracing grammar, cruise.umple/src/umple_traces.grammar.

Trace metamodel: trace.ump

This is the Umple file that describes the core data managed about tracing as a program is compiled, cruise.umple/src/Trace.ump.

Processing trace statements when parsing

This is the so-called 'glue code' that is used to take the results of the parser, and build an instance of the metamodel, before code generation can begin, cruise.umple/src/UmpleInternalParser_CodeTrace.ump.

Code generation for tracing

UmpleTL templates that are compiled to produce code used when generating trace output in Java code, UmpleToJava/UmpleTLTemplates/.

See the following for PhP UmpleToPhp/UmpleTLTemplates/trace.ump

Testing tracing

Tracer implementation tests cruise.umple/test/cruise/umple/tracer/implementation/

Compiler trace tests cruise.umple/test/cruise/umple/compiler/UmpleParserTracerTest.java