summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2016-05-19 21:22:59 (GMT)
committerStefan Radomski <github@mintwerk.de>2016-05-19 21:22:59 (GMT)
commit8ba26b482ba3f37ce262940af70650be399fd548 (patch)
treeab48de386620e5e888614ed5359a0371c07252f4 /README.md
parent0641c59dd1de9541f9650a58739ff1a7f39fece7 (diff)
downloaduscxml-8ba26b482ba3f37ce262940af70650be399fd548.zip
uscxml-8ba26b482ba3f37ce262940af70650be399fd548.tar.gz
uscxml-8ba26b482ba3f37ce262940af70650be399fd548.tar.bz2
Dire bug in uscxml-browser, smaller fixes and documentation
Diffstat (limited to 'README.md')
-rw-r--r--README.md72
1 files changed, 46 insertions, 26 deletions
diff --git a/README.md b/README.md
index 7029b3c..ece7b75 100644
--- a/README.md
+++ b/README.md
@@ -1,38 +1,58 @@
-# Major update!
+# uSCXML ReadMe
[![Build Status](https://travis-ci.org/tklab-tud/uscxml.png?branch=master)](https://travis-ci.org/tklab-tud/uscxml)
-We deprecated the [old uscxml interpreter](https://github.com/tklab-tud/uscxml/tree/legacy-1.0) and rewrote large parts with the lessons learned from the old version. The new implementation is not yet fully done and there is some functionality that has not (yet) made it to the new version.
+**Note**: We deprecated the [old version](https://github.com/tklab-tud/uscxml/tree/legacy-1.0) and refactored quite a few classes and interaces.
-I will update the documentation once I finished up on some polishing and remaining issues.
+**Note**: Some of the features described below may not yet have made it into the new version, but all will eventually. If I implied functionality not yet available just call me out on it and post an issue and I will make it a priority.
-##What's new
+## What is it? [what]
-### Working
+uSCXML is a platform to work with state-charts given as
+[SCXML](http://www.w3.org/TR/scxml/) files. Currently, it consists of three principal components:
- * All W3C IRP tests are passed
- * Lua datamodel
- * ECMAScript datamodel
- * Transformer for ANSI-C
+ 1. `libuscxml`: [C++ library](#library) containing an interpreter and accompanying functionality.
-### Important Changes
-
- * Compiling will require a C++11 compiler now
- * Dependencies are compiled at configure-time
- * Replaced Arabica DOM implementation with Xerces-C
- * New micro-step implementation
- * Removed unsupported Invokers
- * Data-model DOM bindings now generated by SWIG
+ 2. `uscxml-browser`: A standards compliant [command-line interpreter](#cli) of SCXML documents.
-### Still Missing
+ 3. `uscxml-transform`: A collection of [transformation](#transform) implementations to transpile SCXML, e.g. onto ANSI-C and VHDL.
+
+## Installation [install]
+
+There are no installers yet and we do not feature any releases. Just check for [open issues](https://github.com/tklab-tud/uscxml/issues) and [build from source](http://tklab-tud.github.io/uscxml/building.html). If you did download and build locally, you can create installers via `make packages` though.
+
+## Documentation [doc]
+
+Documentation is available at our [github pages](http://tklab-tud.github.io/uscxml/). It is created from inline comments in the source along with some dedicated markdown pages via `doxygen`. We try to keep it current and will update it ever again. For the most current documentation, you can run `make docs` in your build directory.
+
+## Licensing [license]
+
+uSCXML itself is distributed under the [Simplified BSD license](http://www.opensource.org/licenses/bsd-license) as in, do not sue
+us and do not misrepresent authorship. There are currently four additional libraries that are required to compile uSCXML.
+
+| Project | License | Comment |
+|---------|---------|---------|
+| [libcurl](https://curl.haxx.se/libcurl/) | [MIT/X derivate](https://curl.haxx.se/docs/copyright.html) | Used in uSCXML to fetch remote content |
+| [Xerces-C++](https://xerces.apache.org/xerces-c/) | [Apache v2](http://www.apache.org/licenses/LICENSE-2.0.html) | XML parser and DOM implementation |
+| [libevent](http://libevent.org) | [3-clause BSD](http://libevent.org/LICENSE.txt) | Delayed event queues |
+| [uriparser](http://uriparser.sourceforge.net) | [New BSD](https://sourceforge.net/p/uriparser/git/ci/master/tree/COPYING) | Referring and resolving URIs |
+
+At configure time, the uSCXML build-process will attempt to find and link several other libraries (e.g. Lua, v8) and additional licensing terms may apply.
+
+## Getting Started [started]
+
+For more detailled information, refer to the [documentation](http://tklab-tud.github.io/uscxml).
- * Language Bindings
- * Respond element
- * Plugin-Architecture
- * ArrayBuffers for binary data in data-model
+### Embedded as a Library [library]
+ uscxml::Interpreter scxml = uscxml::Interpreter::fromURL("...");
+ while(scxml.step() != uscxml::USCXML_FINISHED) {
+ ...
+ }
-### Dropped
+### On the Command-line [cli]
+ # interpret state-chart from url
+ $ uscxml-browser https://raw.githubusercontent.com/tklab-tud/uscxml/master/test/w3c/null/test436.scxml
- * XPath data-model
- * DOM Events
- * Many of the old invokers that were no longer supported \ No newline at end of file
+### For Transformations [transform]
+ # transform given SCXML document into ANSI-C fragment
+ $ uscxml-transform -tc -i https://raw.githubusercontent.com/tklab-tud/uscxml/master/test/w3c/null/test436.scxml