Skip to content

Commit ec13725

Browse files
committed
Update readme and all images to reflect the latest look-and-feel
1 parent c05cd90 commit ec13725

27 files changed

+288
-103
lines changed

README.md

Lines changed: 82 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
PlantUML macros and includes for creating Archimate Diagrams easily.
44

5-
![Archimate-PlantUML Sample image - Internet Browser](https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/images/Archimate%20Sample%20-%20Internet%20Browser.png)
5+
![Archimate-PlantUML Sample image - Internet Browser](./images/Archimate%20Sample%20-%20Internet%20Browser.png)
66

77
## Table of Contents
88
1. [Background](#background)
@@ -33,34 +33,59 @@ ArchiMate offers a common language for describing the construction and operation
3333
[Archimate-PlantUML](https://github.com/plantuml-stdlib/Archimate-PlantUML) combines the benefits of PlantUML and ArchiMate for providing a simple way of creating and managing ArchiMate diagrams. The Archimate-PlantUML is a set of macros and other includes written on top of [PlantUML Archimate specification](http://plantuml.com/archimate-diagram), with an aim to simplify the syntax for creating elements and defining relationships.
3434

3535
## Getting Started
36-
Include the `Archimate.puml` file in your `.puml` or `.wsd` file:
36+
Include the `Archimate.puml` file in your `.puml` or `.wsd` file. There are multiple options, depending on how current you want to be
3737

38+
### Using built-in support
3839
```plantuml
39-
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml
40+
' to use the built-in support
41+
!include <archimate/Archimate>
42+
43+
' optionally choose one of the available themes
44+
'!theme archimate-alternate from <archimate/themes>
45+
'!theme archimate-handwriting from <archimate/themes>
46+
'!theme archimate-lowsaturation from <archimate/themes>
47+
'!theme archimate-saturated from <archimate/themes>
48+
'!theme archimate-standard from <archimate/themes>
49+
4050
```
4151

42-
For offline use, download the files and reference them locally:
52+
### Using a version available on the internet
53+
54+
You will need to download the version (`Archimate.puml` file plus the `./themes/` folder that goes with it) and store them
55+
some place locally. Then reference them like this:
56+
4357
```plantuml
44-
!include path/to/Archimate.puml
58+
59+
!global $ARCH_LOCAL = false
60+
!$LOCAL_FOLDER = "[path to the folder that holds Archimate.puml]"
61+
!include $LOCAL_FOLDER/Archimate.puml
62+
63+
' optionally choose one of the available themes
64+
'!theme archimate-alternate from $LOCAL_FOLDER/themes
65+
'!theme archimate-handwriting from $LOCAL_FOLDER/themes
66+
'!theme archimate-lowsaturation from $LOCAL_FOLDER/themes
67+
'!theme archimate-saturated from $LOCAL_FOLDER/themes
68+
'!theme archimate-standard from $LOCAL_FOLDER/themes
69+
!endif
4570
```
4671

72+
_Note: using `!includeurl` on a `https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml` **may** not work, because that file by default relies on the built-in themes, and the latest version on `master` can expect different theme settings._
73+
4774
## Usage
4875
After you have included `Archimate.puml` you can use the defined macros for ArchiMate elements.
4976

5077
### ArchiMate Elements
5178
The ArchiMate elements are defined in the following pattern:
5279
```plantuml
5380
Category_ElementName(nameOfTheElement, "description")
54-
or
55-
Category_ElementName(nameOfTheElement, "description", true) //To Enable nesting of elements
5681
```
5782
For example:
58-
* To define a `Stakeholder` element, which is part of `Motivation` category, the synax will be
83+
* To define a `Stakeholder` element, which is part of `Motivation` category, the syntax will be
5984
```plantuml
6085
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description")
6186
```
6287
Output:
63-
![Stakeholder](https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/images/Example-Stakeholder.png)
88+
![Stakeholder](./images/Example-Stakeholder.png)
6489
* To define a `Business Service` element,
6590
```plantuml
6691
Business_Service(BService, "Business Service", true) {
@@ -70,7 +95,7 @@ For example:
7095
}
7196
```
7297
Output:
73-
![Business Service](https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/images/Example-BusinessService.png)
98+
![Business Service](./images/Example-BusinessService.png)
7499
75100
### ArchiMate Relationships
76101
The ArchiMate relationships are defined with the following pattern:
@@ -82,10 +107,10 @@ and to define the direction / orientation of the two elements:
82107
Rel_RelationType_Direction(fromElement, toElement, "description")
83108
```
84109
The `RelationTypes` supported are:
85-
- Access
110+
- Access, Access_r, Access_rw, Access_w
86111
- Aggregation
87112
- Assignment
88-
- Association
113+
- Association, Association_dir
89114
- Composition
90115
- Flow
91116
- Influence
@@ -106,105 +131,98 @@ For example:
106131
Rel_Composition(StakeholderElement, BService, "Description for the relationship")
107132
```
108133
Output:
109-
![Composition Relationship](https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/images/Example-Composition.png)
110-
* To orient the two elements in top - down position, the syntax will be
134+
![Composition Relationship](./images/Example-Composition.png)
135+
* To orient the two elements in left-right position, the syntax will be
111136
```plantuml
112-
Rel_Composition_Down(StakeholderElement, BService, "Description for the relationship")
137+
Rel_Composition_Right(StakeholderElement, BService, "Description for the relationship")
113138
```
114139
Output:
115-
![Composition Relationship Down](https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/images/Example-CompositionDown.png)
140+
![Composition Relationship Right](./images/Example-CompositionRight.png)
116141
117142
### ArchiMate Groups
118-
Groups in ArchiMate are denoted using the following syntax:
143+
Groups in ArchiMate are denoted using one of the following 3 possible ways:
119144
```plantuml
145+
Group(nameOfTheGroup, "Group Description"){
146+
//Define the ArchiMate Elements
147+
}
148+
120149
Grouping(nameOfTheGroup, "Group Description"){
121150
//Define the ArchiMate Elements
122151
}
123-
```
124-
and to define the direction / orientation of the two elements:
125-
```plantuml
126-
Group(nameOfTheGroup, "Group Description"){
152+
153+
Other_Grouping(nameOfTheGroup, "Group Description"){
127154
//Define the ArchiMate Elements
128155
}
129156
```
157+
130158
For example
131-
* Group Type 1:
132-
```plantuml
133-
Grouping(Example01, "Group Type 01"){
134-
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description")
135-
Business_Service(BService, "Business Service")
136-
}
137-
```
138-
Output:
139-
![Group Type 1](https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/images/Example-Grouping.png)
140159

141-
* Group Type 2:
142-
```plantuml
143-
Group(Example01, "Group Type 01"){
144-
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description")
145-
Business_Service(BService, "Business Service")
146-
}
147-
```
148-
Output:
149-
![Group Type 2](https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/images/Example-Group.png)
160+
| Group Type | Result |
161+
|----------------|-------------------------------------------------------|
162+
| Group | ![Group](./images/Example-Group.png) |
163+
| Grouping | ![Grouping](./images/Example-Grouping.png) |
164+
| Other_Grouping | ![Other_Grouping](./images/Example-OtherGrouping.png) |
165+
150166

151167
### Nesting of Components
152168
Nesting allows grouping components hierarchically, improving diagram clarity. There are no limitations on the number of levels of nesting.
153-
The implementation allows nesting of any components inside any other components. When nesting, the element will be displayed as a rectangle with the archimate archetype on the top right corner.
154-
169+
The implementation allows nesting of any components inside any other components. When nesting, the element will be displayed in its normal shape, with the archimate archetype on the top right corner.
155170

156-
Nesting can be enabled in the following pattern
171+
Nesting is automatic, just add the nested elements between curly braces `{ ... }`:
157172
```plantuml
158-
Category_ElementName(nameOfTheElement, "description", true) {
173+
Category_ElementName(nameOfTheElement, "description") {
159174
Category_ElementName(uniqueName, "description)
160175
}
161176
```
162177

163178
For example:
164179
```plantuml
165-
Business_Product("BusProduct01", "Business Product 01", true) {
180+
Business_Product("BusProduct01", "Business Product 01") {
166181
Business_Service("BusService01", "Business Service 01")
167182
Business_Service("BusService02", "Business Service 02")
168-
Business_Service("BusService03", "Business Service 03")
183+
Business_Service("BusService03", "Business Service 03"){
184+
Business_Function("BusFunction", "Business Function")
185+
}
169186
}
170187
171-
Technology_Device("TechDevice01", "Technology Device 01", true) {
172-
Technology_Device("TechDevice02", "Technology Device 02")
173-
Technology_Device("TechnDevice03", "Technology Device 03", true) {
174-
Technology_Device("TechnDevice04", "Technology Device 04", false)
175-
Technology_Device("TechnDevice05", "Technology Device 05")
188+
Technology_Node("TechDevice01", "Technology Device 01") {
189+
Technology_Node("TechDevice02", "Technology Device 02")
190+
Technology_Node("TechnDevice03", "Technology Device 03") {
191+
Technology_Node("TechnDevice04", "Technology Device 04")
192+
Technology_Node("TechnDevice05", "Technology Device 05")
176193
}
177194
}
195+
178196
```
179197
Output:
198+
180199
![Nesting Example](./images/Example-Nesting.png)
181-
Note that the representation of Technology-Device element changed from a node to rectangle when nesting was enabled.
182200

183201
### Theme Support
184202
Theme support is enabled and 5 variations are available. All the themes are based on Archimate specifications.
185203

186204
Theme can be enabled by adding the following line.
187205
```plantuml
188-
!theme <theme-name> from <theme-folder>
206+
!theme [theme-name] from <archimate/themes>
189207
190208
// Example
191-
!theme archimate-saturated from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes
209+
!theme archimate-saturated from <archimate/themes>
192210
```
193211

194-
| Theme Name | Preview |
195-
|--------------------------|----------------------------------------------------|
196-
| Default (No line added) | ![default](./images/theme-default.png) |
197-
| archimate-standard | ![standard](./images/theme-standard.png) |
198-
| archimate-alternate | ![alternate](./images/theme-alternate.png) |
199-
| archimate-saturated | ![saturated](./images/theme-saturated.png) |
200-
| archimate-lowsaturation | ![low saturated](./images/theme-lowsaturation.png) |
201-
| archimate-handwriting | ![handwriting](./images/theme-handwriting.png) |
212+
| Theme Name | Preview |
213+
|--------------------------|-------------------------------------------------------|
214+
| Default (No line added) | ![default](./images/theme-default.png) |
215+
| archimate-standard | ![standard](./images/theme-standard.png) |
216+
| archimate-alternate | ![alternate](./images/theme-alternate.png) |
217+
| archimate-saturated | ![saturated](./images/theme-saturated.png) |
218+
| archimate-lowsaturation | ![low saturation](./images/theme-lowsaturation.png) |
219+
| archimate-handwriting | ![handwriting](./images/theme-handwriting.png) |
202220

203221
## Example
204222
```plantuml
205223
@startuml
206-
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/Archimate.puml
207-
!theme archimate-standard from https://raw.githubusercontent.com/plantuml-stdlib/Archimate-PlantUML/master/themes
224+
!include <archimate/Archimate>
225+
!theme archimate-standard from <archimate/themes>
208226
209227
title Archimate Sample - Requirement & Application Services
210228
@@ -232,7 +250,7 @@ Rel_Composition_Up(ACSAP, ACSAPFin)
232250
```
233251

234252
Output:
235-
![Archimate-PlantUML Sample image - Internet Browser](https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/images/Archimate%20Sample%20-%20Requirement%20%26%20Application%20Services.png)
253+
![Archimate-PlantUML Sample image - Requirement & Application Services](./images/Archimate%20Sample%20-%20Requirement%20%26%20Application%20Services.png)
236254

237255
## Contributing
238256
If you have any ideas, [open an issue](https://github.com/plantuml-stdlib/Archimate-PlantUML/issues/new) or fork the repository and submit a pull request.

dist/plantuml-stdlib/stdlib/archimate/_examples_/example.puml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@startuml
22

3-
!global $ARCH_LOCAL = false
3+
!global $ARCH_LOCAL = true
44
!global $ARCH_DEBUG = true
55

66
'!global $ARCH_LINETYPE = curve
-115 KB
Loading
-66.3 KB
Loading

images/Archimate Overview.png

-13.5 KB
Loading
-65.6 KB
Loading
-46.9 KB
Loading

images/Example-BusinessService.png

-4.32 KB
Loading

images/Example-Composition.png

-11.6 KB
Loading

images/Example-CompositionDown.png

-17.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)