mx2dtx
is a converter of iStarDT-V models build using mxGraph to the XML representation of iStar-DT called iStarDT-X.
iStar-DT both extends and subsets the iStar 2.0 modeling language to allow high-level decision-theoretic (DT) modeling of agents. iStarDT-V is a visual component of iStar-DT proposing specific shapes for building diagrammatic representations. iStarDT-X is an XML-based language for storing and sharing iStar-DT models.
mx2dtx
converts iStarDT-V models built in mxGraph-compatible tools and saved in an the native mxGraph XML format into iStarDT-X files for usage by other tools within the iStar-DT ecosystem.
iStarDT-V diagrams can be created in draw.io, mxGraph front-end, using a library of shapes specifically created for the purpose. In draw.io (we have tried version 14.1.8) go to File --> Open Library
and select the iStarDT-V.xml file. Continue building the model exclusively using the library, and save the result in an uncompressed format. In version 14.1.8 of draw.io go to File --> Properties
and uncheck Compressed
.
Detailed directions on how to build iStarDT-V models can be found in this how-to guide.
- Ensure you have maven, Java and git installed in your system. We have tested with Maven version 3.9.9 and Java 21.0.4.
- Clone the repository:
git clone https://github.com/cmg-yorku/mx2dtx
cd mx2dtx
mvn compile
to compile- Run with
mvn exec:java -Dexec.args="-f [drawio input file] -o [iStarDT-X output file]"
to convert your diagram. The-o
option is optional - if omitted, the output will be printed to standard output. - Use
-h
option to see usage information and available options. NOTE: if you are using Windows PowerShell, add--%
betweenexec:java
and-Dexec
- If you want to run from native java call:
mvn package
java -jar .\target\g2dt-[X].jar -f [drawio input file] -o [iStarDT-X output file]
, where[X]
is the version information (check the folder)
- Example models can be found in
src/test/resources
- Custom numeric formulae for qualities are supported only in iStarDT-X format at this point. Prepare the formula in a text editor and paste within the
dtxFormula
attribute of qualities. Otherwise, ensure a tree-like hierarchy of qualities. Satisfaction level of a quality is the linear combination of the satisfaction levels of the origins multiplied by the contribution labels. - To reference goals, tasks and qualities in formulae or lists, use camel-case representation of the label in the corresponding element. For example goal
Have Meeting Scheduled
is referenced ashaveMeetingScheduled
. - It is important that all links/connectors properly connect directly on the whole shapes. This can be achieved by dragging the end-point of the link on the target shape and drop it when the shape acquires a blue outline. See more details in this how-to guide.
iStarDT-X documents can be validated, deserialized, and translated to a formal specification through the dtx2X tool.
- For bug reports and queries please contact [email protected].