|
| 1 | +' ******************************************************************************* |
| 2 | +' Copyright (c) 2025 Contributors to the Eclipse Foundation |
| 3 | +' |
| 4 | +' See the NOTICE file(s) distributed with this work for additional |
| 5 | +' information regarding copyright ownership. |
| 6 | +' |
| 7 | +' This program and the accompanying materials are made available under the |
| 8 | +' terms of the Apache License Version 2.0 which is available at |
| 9 | +' https://www.apache.org/licenses/LICENSE-2.0 |
| 10 | +' |
| 11 | +' SPDX-License-Identifier: Apache-2.0 |
| 12 | +' ******************************************************************************* |
| 13 | + |
| 14 | +@startuml |
| 15 | + |
| 16 | +' AND gate: flat bottom + elliptic arch on top |
| 17 | +sprite $and <svg width="60" height="70" viewBox="0 0 60 70" xmlns="http://www.w3.org/2000/svg"> |
| 18 | + <path d="M 8,58 H 52 V 35 A 22,27 0 0,0 8,35 L 8,58 Z" fill="white" stroke="black" stroke-width="2.5"/> |
| 19 | +</svg> |
| 20 | + |
| 21 | +' OR gate: pointed top, bowed sides, concave bottom |
| 22 | +sprite $or <svg width="60" height="70" viewBox="0 0 60 70" xmlns="http://www.w3.org/2000/svg"> |
| 23 | + <path d="M 30,8 C 55,25 54,42 52,58 Q 30,48 8,58 C 6,42 5,25 30,8 Z" fill="white" stroke="black" stroke-width="2.5"/> |
| 24 | +</svg> |
| 25 | + |
| 26 | +' Transfer-In gate: upward triangle |
| 27 | +sprite $transferin <svg width="60" height="70" viewBox="0 0 60 70" xmlns="http://www.w3.org/2000/svg"> |
| 28 | + <polygon points="30,8 52,60 8,60" fill="white" stroke="black" stroke-width="2.5"/> |
| 29 | +</svg> |
| 30 | + |
| 31 | +'skinparam linetype polyline |
| 32 | +'skinparam linetype ortho |
| 33 | + |
| 34 | +!procedure $TopEvent($name, $alias) |
| 35 | + rectangle "$name" as $alias |
| 36 | +!endprocedure |
| 37 | + |
| 38 | +!procedure $IntermediateEvent($name, $alias, $connection) |
| 39 | + rectangle "$name" as $alias |
| 40 | + $alias -u-> $connection |
| 41 | +!endprocedure |
| 42 | + |
| 43 | +!procedure $BasicEvent($name, $alias, $connection) |
| 44 | + usecase "$name" as $alias |
| 45 | + $alias -u-> $connection |
| 46 | +!endprocedure |
| 47 | + |
| 48 | +!procedure $AndGate($alias, $connection) |
| 49 | + rectangle " " <<$and>> as $alias |
| 50 | + $alias -u-> $connection |
| 51 | +!endprocedure |
| 52 | + |
| 53 | +!procedure $OrGate($alias, $connection) |
| 54 | + rectangle " " <<$or>> as $alias |
| 55 | + $alias -u-> $connection |
| 56 | +!endprocedure |
| 57 | + |
| 58 | +!procedure $TransferInGate($alias, $connection) |
| 59 | + rectangle " " <<$transferin>> as $alias |
| 60 | + $alias -u-> $connection |
| 61 | +!endprocedure |
| 62 | + |
| 63 | +@enduml |
0 commit comments