13 | AdaML Source Code — click to expand —
14 |
15 | !include https://raw.github.com/rocher/AdaML/release/0.1.2/AdaML.puml
16 | scale 600 width
17 |
18 | package("AdaML")
19 | package("PlantUML")
20 | package("Ada")
21 | package("UML")
22 |
23 | owns("AdaML", "PlantUML")
24 | depends("AdaML", "Ada", "tailored")
25 | depends("AdaML", "UML", "draws")
26 |
27 | note("AdaML draws Ada-tailored\nUML diagrams based on\nPlantUML")
28 |
29 | left_right("PlantUML", "UML")
30 | left_right("UML", "Ada")
31 |
32 |
33 |
34 | ### Doc
35 | For more information and examples, download
36 | [AdaML.pdf](https://raw.github.com/rocher/AdaML/release/0.1.2/doc/AdaML.pdf) or
37 | [read online](https://github.com/rocher/AdaML/blob/release/0.1.2/doc/AdaML.pdf)
38 | in GitHub.
39 |
40 | # Introduction
41 |
42 | ### What is AdaML?
43 | - UML tailored for Ada 2012 programming language
44 | - A modeling language to draw UML diagrams, implemented in PlantUML
45 | - An easy way to learn Ada through the use of UML and OOP concepts
46 |
47 | ### Features
48 | - UML tailored to use and show particular Ada language characteristics
49 | - Coherent set of functions to design software components for Ada
50 | - Generates high quality drawings (ps, eps) easy to embedded in other docs
51 | - Easy to learn by example, both AdaML and Ada language
52 |
53 | ### What is /not/ AdaML?
54 | - A model-based tool to generate Ada code
55 | - A reverse engineering tool to draw UML diagrams from Ada code
56 | - An interactive UML modeling or drawing tool
57 |
58 | # Local Usage
59 | AdaML must be used locally to get quality graphics. You can generate diagrams in
60 | `eps` format that can be embedded in LaTeX docs.
61 |
62 | ### Requirements
63 | - [PlantUML](https://plantuml.com) installed and working in your system
64 | - The AdaML files, check [AdaML](https://github.com/rocher/AdaML) installation
65 | instructions
66 | - Your favorite text editor, preferably with PlantUML support (e.g. Emacs)
67 | - Check the list of [supported editors](http://plantuml.com/running)
68 | - For better visualization and integration with LaTeX, [computer
69 | modern](https://www.fontsquirrel.com/fonts/computer-modern) fonts
70 |
71 | # Online Usage
72 | ### Online Version - Quick Start
73 | - Open [PlantUML Previewer](http://sujoyu.github.io/plantuml-previewer) or
74 | [PlantText](https://www.planttext.com/) editor
75 | - Remove default lines and paste the following code:
76 |
77 | ```
78 | !include https://raw.github.com/rocher/AdaML/release/0.1.2/AdaML.puml
79 | scale 300 width
80 |
81 | begin_type("Pan_Dimensional")
82 | procedure("Ask_The_Question", "in out Natural")
83 | end()
84 |
85 | begin_package("Deep_Thought")
86 | function("Answer_The_Question", "", "Natural")
87 | private()
88 | variable("The_Answer", "Natural", 42)
89 | end()
90 |
91 | depends("Pan_Dimensional", "Deep_Thought", "ask >")
92 | ```
93 |
94 | ### Embed Diagrams in GitHub
95 | This is an example of the AdaML documentation:
96 |
97 |