summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md17
1 files changed, 13 insertions, 4 deletions
diff --git a/README.md b/README.md
index 3d93def..648945e 100644
--- a/README.md
+++ b/README.md
@@ -10,12 +10,18 @@
## General
-uSCXML is a SCXML interpreter and transformer written in C/C++. It is [standards compliant](#test-reports) and [easily extended](#extending-uscxml)
-even in C# and Java. The *interpreter* itself runs on <b>Linux</b>, <b>Windows</b>, <b>Raspberry Pi</b> and <b>Mac OSX</b>, each 32- as well as 64Bits as well as <b>iOS</b>. The generated native code transformed from an SCXML document runs on virtually any platform.
+uSCXML is a SCXML interpreter and transformer written in C/C++. It is
+[standards compliant](#test-reports) and [easily extended](#extending-uscxml)
+even in C# and Java. The *interpreter* itself runs on <b>Linux</b>,
+<b>Windows</b>, <b>Raspberry Pi</b> and <b>Mac OSX</b>, each 32- as well as
+64Bits as well as <b>iOS</b>. The *generated native code* transformed from an
+SCXML document runs on virtually any platform.
### Interpreter
-The implementation of the SCXML **runtime interpreter** is available in the <tt>libuscxml</tt> library with the <tt>uscxml-browser</tt> binary as a frontend. It implements the following features:
+The implementation of the SCXML **runtime interpreter** is available in the
+<tt>libuscxml</tt> library with the <tt>uscxml-browser</tt> binary as a
+frontend. It implements the following features:
* <b>Data Models</b>
* Full [ECMAScript data model](https://github.com/tklab-tud/uscxml/tree/master/src/uscxml/plugins/datamodel/ecmascript) using Google's v8 (and JavaScriptCore on MacOSX and iOS)
@@ -53,11 +59,14 @@ The implementation of the SCXML **runtime interpreter** is available in the <tt>
### Transformer
-The transformer is available in the <tt>libuscxml_transform</tt> library and made available via the <tt>uscxml-transform</tt> binary. It is a general tool for SCXML documents and currently implements the following features:
+The **transformer** is implemented in the <tt>libuscxml_transform</tt> library and
+made available via the <tt>uscxml-transform</tt> binary. It is a general tool
+for SCXML documents and currently implements the following features:
* Transformations onto
* [Flattened SCXML documents](https://github.com/tklab-tud/uscxml/blob/master/src/uscxml/transform/ChartToFlatSCXML.cpp) in which only a single state is ever active
* Resulting documents require slight adaptations to a compliant interpreter for donedata, the <tt>In</tt> predicate and invokers.
+ * Semantic equivalence is shown via IRP tests.
* [C native code](https://github.com/tklab-tud/uscxml/blob/master/src/uscxml/transform/ChartToC.cpp) for easy embedding of SCXML state-charts in C and C++ programs
* No invokers are implemented at the moment and only a single SCXML state-chart can be given in a given document.
* [PROMELA programs](https://github.com/tklab-tud/uscxml/blob/master/src/uscxml/transform/ChartToPromela.cpp) for model-checking via linear temporal logic with the SPIN model-checker.