Omelette is a language dedicated to describe UML diagrams. Currently we support only class and use case diagrams, but the language and compiler are designed to be extensible.
Omelette consists of three parts:
- Omelette - Language used to describe UML diagrams
- Fromage - Simple IDE for editing, generating and exporting diagrams.
- cli - command line compiler of Omelette
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.
Currently there's no such thing.
If you speak polish you can read our report. You will find the manual and semi-formal description of language syntax there.
class Student
+learn(stuff)
class University
association
source-object : Student
target-object : University
prototype class course
stereotype : "course"
course Course
course compSci
name : "Computer Science"
+code()
course Art
+dance()
+paint()
+play()
prototype generalisation is_crs
target-object : Course
is_crs
source-object : compSci
is_crs
source-object : Art
This compiles to:
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, actors, and other types of relations)
- properties and operations (we also support attributes)
- prototyping (objects
compSci
,Course
andArt
inherit stereotype fromcourse
; There are also two anonymousis_crs
objects, which inherit theirs target object fromis_crs
).