Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pienkowb/omelette
Textual UML modeling tool
https://github.com/pienkowb/omelette
graphviz uml uml-diagrams
Last synced: 26 days ago
JSON representation
Textual UML modeling tool
- Host: GitHub
- URL: https://github.com/pienkowb/omelette
- Owner: pienkowb
- License: gpl-3.0
- Created: 2010-10-24T14:16:16.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2015-10-11T10:12:26.000Z (about 9 years ago)
- Last Synced: 2023-03-11T10:12:34.414Z (over 1 year ago)
- Topics: graphviz, uml, uml-diagrams
- Language: Python
- Homepage:
- Size: 6.69 MB
- Stars: 14
- Watchers: 3
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Omelette
Omelette is a language dedicated to describe UML diagrams.
Currently we only support class and use case diagrams, but the language and compiler are designed to be extensible.The project consists of three parts:
- Omelette – the language used to describe UML diagrams
- Fromage – a simple IDE for editing, generating and exporting diagrams
- cli – a command-line compiler## Dependencies
Omelette requires **pyQT** and **pyparsing**.
Although it's not required, we encourage you to install **pygraphviz**.
We offer two built-in layout algorithms, but they aren't very impressive.## User manual
Currently there's no such thing.
If you speak Polish, you can read [our report](doc/raport/raport.pdf).
You will find a semi-formal description of the language syntax there.## Code example
```
class Student
+ learn(stuff)class University
association
source-object: Student
target-object: Universityprototype class course
stereotype: "course"course Course
course compSci
name: "Computer Science"
+ code()course Art
+ dance()
+ paint()
+ play()prototype generalisation is_crs
target-object: Courseis_crs
source-object: compSci
is_crs
source-object: Art
```This compiles to:
![UML diagram](doc/example/university.png)
As you can see, the language is pretty powerful.
This example covers some features of Omelette:- classes and different types of relations (currently we also support notes, use cases and actors)
- properties and methods (we also support attributes)
- prototyping (`Course`, `compSci` and `Art` inherit stereotype from `course`)
- anonymous objects (inheriting target object from `is_crs`)[more examples](doc/example/)