Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davidmoten/xuml-compiler
Automatically exported from code.google.com/p/xuml-compiler
https://github.com/davidmoten/xuml-compiler
Last synced: about 1 month ago
JSON representation
Automatically exported from code.google.com/p/xuml-compiler
- Host: GitHub
- URL: https://github.com/davidmoten/xuml-compiler
- Owner: davidmoten
- Created: 2015-03-13T01:56:45.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T21:30:22.000Z (almost 2 years ago)
- Last Synced: 2023-03-11T13:53:41.500Z (over 1 year ago)
- Language: Java
- Size: 21 MB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# xuml-compiler
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.davidmoten/xuml-compiler-runtime/badge.svg?style=flat)](https://maven-badges.herokuapp.com/maven-central/com.github.davidmoten/xuml-compiler)
[![codecov](https://codecov.io/gh/davidmoten/xuml-compiler/branch/master/graph/badge.svg)](https://codecov.io/gh/davidmoten/xuml-compiler)So you are a java programmer, you have a data model (a Class Diagram) and you want to implement your system?
Get your State Machines sorted, then you can specify a system to *xuml-compiler*, and validate, test and execute it.
The result is an executable system so that we satisfy to a fair degree that _"the model is the code"_.
Dependency updates are still being made to this project as it is still in use in production. **Note** that a completely reworked model compiler is at http://github.com/davidmoten/xuml-tools. The primary difference is a reworked metamodel in accordance with Leon Starr's work and more support for concurrency (actor library used for signals).
* [Guide](src/docs/README.md)
* [Metamodel](src/docs/metamodel.md)For background
* [Executable UML](http://en.wikipedia.org/wiki/Executable_UML) at Wikipedia.
* [Executable UML](http://books.google.com.au/books?id=zBS0aWNjBqcC&printsec=frontcover&dq=mellor+balcer&sig=d0MsWNbJjscwjy4Uj1w6YZls-uc) (Mellor & Balcer, 2002) at Google BooksIn detail, a system specified in java code using helper methods provided by *xuml-compiler* is used to generate java persistence annotated (JPA) classes. [Guice](https://github.com/google/guice) is used to inject action language (java) for methods and events. *xuml-compiler* offers a swing viewer for the system and generates persistence.xml resources for quick testing turnaround.
## Features
* uses hibernate 5.x, guice 5.x
* requires Java 8+
* compatible with Java 11, 17
* slf4j loggingFor each entity *xuml-compiler* creates
* Interface class
* Ejb annotated Implementation class
* Actions interface class (to be implemented by the injected actions class written externally)
* Event classes as static nested classes of the interface class
* Search class as a static nested class of the interface class## News ##
| Date | Comment |
|:-----------|:-----------------------|
| 2022 Sep 01| Upgraded to hibernate 5.6.x, numerous dependency and plugin updates |
| 2012 July| [http://github.com/davidmoten/xuml-tools New project] being developed supporting asynchronous messaging and more features from Mellor and Balcer|
| 2012 July 2| New production system released in AMSA generated by *xuml-compiler*. Performing beautifully.|
| 2011 May 4| Fixed so builds with Maven 3|
| 2011 Apr 15| Released version 4.10|
| 2011 Apr 15| Tested with Hibernate 3.6.3 and stopped using `@PostLoad` in generated classes because of Hibernate bug [http://opensource.atlassian.com/projects/hibernate/browse/HHH-6043 HHH-6043]|
| 2010 May 25| Built version 0.4.8|
| 2010 Feb 17| Two example projects (two artifacts each) and maven parent build in svn|
| 2010 Feb 11| Uploaded sample Eclipse project|
| 2010 Feb 10| Converted build from Ant to Maven|
| 2009 Mar 27| Fixed generated jsp pages|
| 2009 Feb 10| All associations are lazy fetch|
| 2009 Jan 13| Generate shared interface implemented by members of a specialization group|
| 2008 Sep 06| Mutual exclusion enforced on specializations|
| 2008 Sep 04| Multiple generalizations enabled|
| 2008 July 02| Specialization needs work to ensure a generalization is abstract and to allow multiple generalizations|
| 2008 July 01| Improved Viewer Specializations, ant task to generate diagrams as jpeg|
| 2008 June 25| State Machine Viewer is in|
| 2008 June 23| Uploaded first download. Included jar downloads all dependencies when run via java -jar.|
| 2008 June 22| Sorted out download of Ecore dependencies via Maven|
| 2008 June 18| Viewer now uses ecore data model generated classes for serialization/deserialization|
| 2008 June 11| Simple system wiki page done|
| 2008 June 10| Documenting a simpler system to demonstrate the complete development cycle (Shop can wait till later)|
| 2008 May 29| Documenting a more interesting Shop system|
| 2008 May 22| First commit|