archimate 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.projectile +18 -0
- data/.rubocop.yml +13 -0
- data/.travis.yml +4 -0
- data/.yardocs +15 -0
- data/Gemfile +5 -0
- data/Guardfile +27 -0
- data/LICENSE +201 -0
- data/README.md +94 -0
- data/Rakefile +29 -0
- data/TODOs.org +286 -0
- data/archimate.gemspec +51 -0
- data/bin/archimate +17 -0
- data/bin/console +13 -0
- data/bin/setup +8 -0
- data/exe/archidiff +7 -0
- data/exe/archidiff-summary +7 -0
- data/exe/archimate +7 -0
- data/exe/archimerge +7 -0
- data/exe/fmtxml +7 -0
- data/lib/archimate/cli/archi.rb +189 -0
- data/lib/archimate/cli/cleanup.rb +54 -0
- data/lib/archimate/cli/conflict_resolver.rb +39 -0
- data/lib/archimate/cli/convert.rb +39 -0
- data/lib/archimate/cli/diff.rb +31 -0
- data/lib/archimate/cli/diff_summary.rb +101 -0
- data/lib/archimate/cli/duper.rb +85 -0
- data/lib/archimate/cli/lint.rb +16 -0
- data/lib/archimate/cli/mapper.rb +82 -0
- data/lib/archimate/cli/merge.rb +49 -0
- data/lib/archimate/cli/merger.rb +109 -0
- data/lib/archimate/cli/stats.rb +42 -0
- data/lib/archimate/cli/svger.rb +40 -0
- data/lib/archimate/color.rb +53 -0
- data/lib/archimate/config.rb +35 -0
- data/lib/archimate/data_model/any_attribute.rb +13 -0
- data/lib/archimate/data_model/any_element.rb +15 -0
- data/lib/archimate/data_model/archimate_node.rb +181 -0
- data/lib/archimate/data_model/bounds.rb +72 -0
- data/lib/archimate/data_model/color.rb +47 -0
- data/lib/archimate/data_model/concept.rb +14 -0
- data/lib/archimate/data_model/concern.rb +17 -0
- data/lib/archimate/data_model/connection.rb +107 -0
- data/lib/archimate/data_model/constants.rb +82 -0
- data/lib/archimate/data_model/container.rb +17 -0
- data/lib/archimate/data_model/diagram.rb +40 -0
- data/lib/archimate/data_model/diffable_array.rb +213 -0
- data/lib/archimate/data_model/diffable_primitive.rb +83 -0
- data/lib/archimate/data_model/documentation.rb +14 -0
- data/lib/archimate/data_model/element.rb +87 -0
- data/lib/archimate/data_model/font.rb +54 -0
- data/lib/archimate/data_model/label.rb +19 -0
- data/lib/archimate/data_model/lang_string.rb +41 -0
- data/lib/archimate/data_model/location.rb +31 -0
- data/lib/archimate/data_model/metadata.rb +14 -0
- data/lib/archimate/data_model/model.rb +217 -0
- data/lib/archimate/data_model/modeling_note.rb +13 -0
- data/lib/archimate/data_model/named_referenceable.rb +14 -0
- data/lib/archimate/data_model/organization.rb +40 -0
- data/lib/archimate/data_model/property.rb +25 -0
- data/lib/archimate/data_model/property_definition.rb +16 -0
- data/lib/archimate/data_model/referenceable.rb +29 -0
- data/lib/archimate/data_model/relationship.rb +85 -0
- data/lib/archimate/data_model/schema_info.rb +18 -0
- data/lib/archimate/data_model/style.rb +32 -0
- data/lib/archimate/data_model/view.rb +12 -0
- data/lib/archimate/data_model/view_concept.rb +18 -0
- data/lib/archimate/data_model/view_node.rb +114 -0
- data/lib/archimate/data_model/viewpoint.rb +87 -0
- data/lib/archimate/data_model.rb +54 -0
- data/lib/archimate/diff/archimate_array_reference.rb +113 -0
- data/lib/archimate/diff/archimate_identified_node_reference.rb +41 -0
- data/lib/archimate/diff/archimate_node_attribute_reference.rb +70 -0
- data/lib/archimate/diff/archimate_node_reference.rb +80 -0
- data/lib/archimate/diff/change.rb +49 -0
- data/lib/archimate/diff/conflict.rb +31 -0
- data/lib/archimate/diff/conflicts/base_conflict.rb +53 -0
- data/lib/archimate/diff/conflicts/deleted_items_child_updated_conflict.rb +30 -0
- data/lib/archimate/diff/conflicts/deleted_items_referenced_conflict.rb +63 -0
- data/lib/archimate/diff/conflicts/path_conflict.rb +51 -0
- data/lib/archimate/diff/conflicts.rb +89 -0
- data/lib/archimate/diff/delete.rb +41 -0
- data/lib/archimate/diff/difference.rb +113 -0
- data/lib/archimate/diff/insert.rb +43 -0
- data/lib/archimate/diff/merge.rb +70 -0
- data/lib/archimate/diff/move.rb +51 -0
- data/lib/archimate/diff.rb +17 -0
- data/lib/archimate/export/csv_export.rb +32 -0
- data/lib/archimate/export/cypher.rb +171 -0
- data/lib/archimate/export/graph_ml.rb +131 -0
- data/lib/archimate/export/n_quads.rb +142 -0
- data/lib/archimate/file_format.rb +30 -0
- data/lib/archimate/file_formats/archi_file_format.rb +151 -0
- data/lib/archimate/file_formats/archi_file_reader.rb +252 -0
- data/lib/archimate/file_formats/archi_file_writer.rb +230 -0
- data/lib/archimate/file_formats/archimate_v2.rb +461 -0
- data/lib/archimate/file_formats/model_exchange_file/xml_lang_string.rb +35 -0
- data/lib/archimate/file_formats/model_exchange_file/xml_metadata.rb +115 -0
- data/lib/archimate/file_formats/model_exchange_file/xml_property_definitions.rb +28 -0
- data/lib/archimate/file_formats/model_exchange_file/xml_property_defs.rb +27 -0
- data/lib/archimate/file_formats/model_exchange_file_reader.rb +237 -0
- data/lib/archimate/file_formats/model_exchange_file_reader_21.rb +73 -0
- data/lib/archimate/file_formats/model_exchange_file_reader_30.rb +134 -0
- data/lib/archimate/file_formats/model_exchange_file_writer.rb +157 -0
- data/lib/archimate/file_formats/model_exchange_file_writer_21.rb +143 -0
- data/lib/archimate/file_formats/model_exchange_file_writer_30.rb +153 -0
- data/lib/archimate/file_formats/writer.rb +56 -0
- data/lib/archimate/lint/duplicate_entities.rb +121 -0
- data/lib/archimate/lint/linter.rb +146 -0
- data/lib/archimate/logging.rb +55 -0
- data/lib/archimate/maybe_io.rb +34 -0
- data/lib/archimate/progress_indicator.rb +29 -0
- data/lib/archimate/svg/archimate.css +232 -0
- data/lib/archimate/svg/child.rb +29 -0
- data/lib/archimate/svg/connection.rb +184 -0
- data/lib/archimate/svg/css_style.rb +31 -0
- data/lib/archimate/svg/diagram.rb +87 -0
- data/lib/archimate/svg/entity/and_junction.rb +14 -0
- data/lib/archimate/svg/entity/application_collaboration.rb +14 -0
- data/lib/archimate/svg/entity/application_component.rb +41 -0
- data/lib/archimate/svg/entity/application_event.rb +13 -0
- data/lib/archimate/svg/entity/application_function.rb +13 -0
- data/lib/archimate/svg/entity/application_interaction.rb +13 -0
- data/lib/archimate/svg/entity/application_interface.rb +13 -0
- data/lib/archimate/svg/entity/application_process.rb +13 -0
- data/lib/archimate/svg/entity/application_service.rb +13 -0
- data/lib/archimate/svg/entity/artifact.rb +39 -0
- data/lib/archimate/svg/entity/assessment.rb +14 -0
- data/lib/archimate/svg/entity/base_entity.rb +128 -0
- data/lib/archimate/svg/entity/business_actor.rb +14 -0
- data/lib/archimate/svg/entity/business_collaboration.rb +14 -0
- data/lib/archimate/svg/entity/business_event.rb +10 -0
- data/lib/archimate/svg/entity/business_function.rb +13 -0
- data/lib/archimate/svg/entity/business_interaction.rb +13 -0
- data/lib/archimate/svg/entity/business_interface.rb +13 -0
- data/lib/archimate/svg/entity/business_object.rb +13 -0
- data/lib/archimate/svg/entity/business_process.rb +13 -0
- data/lib/archimate/svg/entity/business_role.rb +14 -0
- data/lib/archimate/svg/entity/business_service.rb +13 -0
- data/lib/archimate/svg/entity/capability.rb +14 -0
- data/lib/archimate/svg/entity/communication_network.rb +14 -0
- data/lib/archimate/svg/entity/communication_path.rb +14 -0
- data/lib/archimate/svg/entity/constraint.rb +15 -0
- data/lib/archimate/svg/entity/contract.rb +13 -0
- data/lib/archimate/svg/entity/course_of_action.rb +14 -0
- data/lib/archimate/svg/entity/data_entity.rb +29 -0
- data/lib/archimate/svg/entity/data_object.rb +13 -0
- data/lib/archimate/svg/entity/deliverable.rb +13 -0
- data/lib/archimate/svg/entity/device.rb +48 -0
- data/lib/archimate/svg/entity/diagram_model_reference.rb +22 -0
- data/lib/archimate/svg/entity/diagram_object.rb +30 -0
- data/lib/archimate/svg/entity/distribution_network.rb +14 -0
- data/lib/archimate/svg/entity/driver.rb +14 -0
- data/lib/archimate/svg/entity/equipment.rb +16 -0
- data/lib/archimate/svg/entity/event_entity.rb +36 -0
- data/lib/archimate/svg/entity/facility.rb +16 -0
- data/lib/archimate/svg/entity/function_entity.rb +14 -0
- data/lib/archimate/svg/entity/gap.rb +21 -0
- data/lib/archimate/svg/entity/goal.rb +14 -0
- data/lib/archimate/svg/entity/group.rb +24 -0
- data/lib/archimate/svg/entity/implementation_event.rb +13 -0
- data/lib/archimate/svg/entity/infrastructure_function.rb +13 -0
- data/lib/archimate/svg/entity/infrastructure_interface.rb +13 -0
- data/lib/archimate/svg/entity/infrastructure_service.rb +13 -0
- data/lib/archimate/svg/entity/interaction_entity.rb +14 -0
- data/lib/archimate/svg/entity/interface_entity.rb +35 -0
- data/lib/archimate/svg/entity/junction.rb +19 -0
- data/lib/archimate/svg/entity/location.rb +14 -0
- data/lib/archimate/svg/entity/material.rb +14 -0
- data/lib/archimate/svg/entity/meaning.rb +40 -0
- data/lib/archimate/svg/entity/motivation_entity.rb +40 -0
- data/lib/archimate/svg/entity/network.rb +14 -0
- data/lib/archimate/svg/entity/node.rb +33 -0
- data/lib/archimate/svg/entity/node_shape.rb +64 -0
- data/lib/archimate/svg/entity/note.rb +30 -0
- data/lib/archimate/svg/entity/or_junction.rb +14 -0
- data/lib/archimate/svg/entity/outcome.rb +15 -0
- data/lib/archimate/svg/entity/path.rb +14 -0
- data/lib/archimate/svg/entity/plateau.rb +15 -0
- data/lib/archimate/svg/entity/principle.rb +15 -0
- data/lib/archimate/svg/entity/process_entity.rb +63 -0
- data/lib/archimate/svg/entity/product.rb +20 -0
- data/lib/archimate/svg/entity/rect.rb +13 -0
- data/lib/archimate/svg/entity/rect_entity.rb +25 -0
- data/lib/archimate/svg/entity/representation.rb +31 -0
- data/lib/archimate/svg/entity/requirement.rb +15 -0
- data/lib/archimate/svg/entity/resource.rb +14 -0
- data/lib/archimate/svg/entity/rounded_rect_entity.rb +23 -0
- data/lib/archimate/svg/entity/service_entity.rb +51 -0
- data/lib/archimate/svg/entity/sketch_model_sticky.rb +14 -0
- data/lib/archimate/svg/entity/stakeholder.rb +15 -0
- data/lib/archimate/svg/entity/system_software.rb +14 -0
- data/lib/archimate/svg/entity/technology_collaboration.rb +14 -0
- data/lib/archimate/svg/entity/technology_event.rb +13 -0
- data/lib/archimate/svg/entity/technology_function.rb +13 -0
- data/lib/archimate/svg/entity/technology_interaction.rb +13 -0
- data/lib/archimate/svg/entity/technology_interface.rb +13 -0
- data/lib/archimate/svg/entity/technology_process.rb +13 -0
- data/lib/archimate/svg/entity/technology_service.rb +13 -0
- data/lib/archimate/svg/entity/value.rb +27 -0
- data/lib/archimate/svg/entity/work_package.rb +14 -0
- data/lib/archimate/svg/entity.rb +93 -0
- data/lib/archimate/svg/entity_factory.rb +17 -0
- data/lib/archimate/svg/extents.rb +27 -0
- data/lib/archimate/svg/point.rb +7 -0
- data/lib/archimate/svg/svg_template.rb +27 -0
- data/lib/archimate/svg/svg_template.svg.erb +169 -0
- data/lib/archimate/version.rb +4 -0
- data/lib/archimate.rb +114 -0
- metadata +623 -0
@@ -0,0 +1,169 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
4
|
+
<title></title>
|
5
|
+
<desc></desc>
|
6
|
+
<style type="text/css" >
|
7
|
+
<![CDATA[<%= stylesheet %>]]>
|
8
|
+
</style>
|
9
|
+
<defs>
|
10
|
+
<!-- Badges -->
|
11
|
+
<symbol id="archimate-material-badge" class="archimate-badge" viewBox="0 0 20 20">
|
12
|
+
<path style="fill:none;stroke:inherit;stroke-width:1;stroke-linejoin:miter" d="M 15.443383,8.5890552 5.0182941,17.265414 -7.7081977,12.575201 -10.0096,-0.7913701 0.41548896,-9.4677289 13.141981,-4.7775163 Z" transform="matrix(0.59818877,-0.22354387,0.22387513,0.59808805,7.5647066,7.7263348)" />
|
13
|
+
<path style="fill:none;stroke:inherit;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter" d="M 4.5472185,10.333586 8.1220759,4.0990346"/>
|
14
|
+
<path style="fill:none;stroke:inherit;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter" d="m 12.154515,4.0418369 3.51766,6.2917491"/>
|
15
|
+
<path style="fill:none;stroke:inherit;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter" d="m 6.5491386,14.223031 7.0925174,-0.0572"/>
|
16
|
+
</symbol>
|
17
|
+
<symbol id="archimate-distribution-network-badge" class="archimate-badge" viewBox="0 0 20 20">
|
18
|
+
<path style="fill:none;stroke:inherit;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round" d="M 5.8847321,2.5480283 1.4964611,6.7745197 5.7431749,10.596562"/>
|
19
|
+
<path style="fill:none;stroke:inherit;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter" d="m 3.5995956,4.8129424 12.6592514,0"/>
|
20
|
+
<path d="m 3.5995956,8.6754298 13.2861464,0" style="fill:none;stroke:inherit;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter"/>
|
21
|
+
<path d="m 14.314928,2.7502528 4.388271,4.2264914 -4.246714,3.8220418" style="fill:none;stroke:inherit;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round" />
|
22
|
+
</symbol>
|
23
|
+
<symbol id="archimate-facility-badge" class="archimate-badge" viewBox="0 0 20 20">
|
24
|
+
<path style="fill:none;stroke:inherit;stroke-width:1px;stroke-linejoin:miter" d="m 2.1449144,17.940882 0,-15.7007732 2.1735133,0 0,10.2383912 4.5472185,-2.7740891 0,2.8598861 4.4900208,-2.888485 0,2.74549 4.51862,-2.6882923 0,8.2078723 z"/>
|
25
|
+
</symbol>
|
26
|
+
<symbol id="archimate-equipment-badge" class="archimate-badge" viewBox="0 0 20 20">
|
27
|
+
<g transform="translate(0,-7)">
|
28
|
+
<circle cx="8" cy="18.7" r="2.432014" style="fill:none;stroke:inherent;stroke-width:0.7"/>
|
29
|
+
<circle cx="13.7" cy="12.6" r="2.0318091" style="fill:none;stroke:inherent;stroke-width:0.7"/>
|
30
|
+
<path d="m 10.419829,13.456928 -1.089422,-0.143227 0.049633,-1.333107 1.038029,-0.147302 0.341694,-0.73592 -0.57155,-0.843058 0.841528,-0.8648267 0.957991,0.4937924 0.912018,-0.3836763 0.17842,-0.962147 1.316037,-0.019985 0.101237,0.9711183 0.869824,0.3547524 0.771707,-0.6499933 0.91403,0.8676982 -0.566748,0.882319 0.356276,0.832942 0.930473,0.02346 0.06356,1.262322 -1.035165,0.180358 -0.419167,0.824685 0.690443,0.793236 -0.972585,0.907704 -0.733596,-0.578471 -0.952142,0.360765 -0.169839,0.993647 -1.356163,-0.0029 -0.122641,-0.947842 -0.848419,-0.378029 -0.857761,0.70726 -0.979897,-0.985107 0.737388,-0.77599 z" style="fill:none;stroke:inherit;stroke-width:0.8;stroke-linejoin:bevel"/>
|
31
|
+
<path style="fill:none;stroke:inherit;stroke-width:0.8;stroke-linejoin:bevel" d="m 3.5980557,18.939362 -1.3122324,-0.550291 0.5156318,-1.650873 1.3468917,0.16932 0.6772813,-0.804271 -0.4271363,-1.249401 1.3455665,-0.795275 1.0287534,0.944094 1.2699024,-0.169321 0.550291,-1.142912 1.6508729,0.423301 -0.203979,1.2494 0.965921,0.740114 1.185242,-0.550291 0.846601,1.396892 -1.00825,0.91076 0.161649,1.163414 1.154418,0.346312 -0.350147,1.600872 -1.354562,-0.12699 -0.804272,0.888931 0.592621,1.227572 L 9.9052376,23.764991 9.1856262,22.791399 7.8733938,22.918389 7.3231027,24.103632 5.6298996,23.638001 5.7992199,22.410428 4.8679581,21.648487 3.5557257,22.241108 2.666794,20.674895 3.8520362,19.955284 Z"/>
|
32
|
+
</g>
|
33
|
+
</symbol>
|
34
|
+
<symbol id="archimate-resource-badge" class="archimate-badge" viewBox="0 0 20 20">
|
35
|
+
<rect style="fill:none;stroke:inherit;stroke-width:0.7" width="1.6" height="3.3" x="17" y="5" ry="0.8" rx="0.8"/>
|
36
|
+
<rect style="fill:none;stroke:inherit;stroke-width:0.7" width="14" height="9" x="3" y="2" ry="1.2" />
|
37
|
+
<path style="fill:none;stroke:inherit;stroke-width:1" d="m 6,4 v 4.4 m 3 -4.4 v 4.4 m 3 -4.4 v 4.4"/>
|
38
|
+
</symbol>
|
39
|
+
<symbol id="archimate-outcome-badge" class="archimate-badge" viewBox="0 0 20 15">
|
40
|
+
<circle style="fill:none;stroke:inherit;stroke-width:0.9;stroke-linecap:round;stroke-linejoin:round" cx="9.0192108" cy="11.324571" r="1.718908" />
|
41
|
+
<circle style="fill:none;stroke:inherit;stroke-width:0.9;stroke-linecap:round;stroke-linejoin:round" cx="9.1405458" cy="11.304347" r="3.5591507" />
|
42
|
+
<circle style="fill:none;stroke:inherit;stroke-width:0.9;stroke-linecap:round;stroke-linejoin:round" cx="9.0798788" cy="11.324571" r="5.2982812" />
|
43
|
+
<path style="fill:inherit;stroke:inherit;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:round" d="M 8.7563195,11.547017 9.4236603,8.0485339 12.598584,10.940344 Z"/>
|
44
|
+
<path style="fill:none;stroke:inherit;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter" d="M 16.097068,4.2264914 10.920121,9.6258847"/>
|
45
|
+
<path style="fill:none;stroke:inherit;stroke-width:0.9;stroke-linecap:round;stroke-linejoin:miter" d="M 14.742164,2.2244692 13.811931,6.3296259"/>
|
46
|
+
<path style="fill:none;stroke:inherit;stroke-width:0.9;stroke-linecap:round;stroke-linejoin:miter" d="M 18.200202,5.0151668 13.953489,6.5318504"/>
|
47
|
+
</symbol>
|
48
|
+
<symbol id="archimate-course-of-action-badge" class="archimate-badge" viewBox="0 0 20 20">
|
49
|
+
<circle style="fill:inherit;stroke:inherit;stroke-width:1" cx="14.5" cy="6" r="1" />
|
50
|
+
<circle style="fill:none;stroke:inherit;stroke-width:1" cx="14.5" cy="6" r="2.8" />
|
51
|
+
<circle style="fill:none;stroke:inherit;stroke-width:1" cx="14.5" cy="6" r="4.6" />
|
52
|
+
<path style="fill:inherit;stroke:inherit;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter" d="M 1.1664063,14.167969 C 2.5664063,12.167969 4.1,10.95 5.6,9.85 L 4.5,9 C 4.3,8.25 4.54,7.9 5.25,7.9 l 4.5,0.6 c -0.5108623,0.013713 1.081001,-0.037861 0.5,1.1 l -3,3.7 c -0.6,0.4 -1,0.25 -1.2,-0.15 L 6.01,11.75 C 4.5,12.5 3.5,14 2.5,15 1.83125,15.09375 1.1875,14.617188 1.1703125,14.171875 Z"/>
|
53
|
+
</symbol>
|
54
|
+
<symbol id="archimate-capability-badge" class="archimate-badge" viewBox="0 0 20 20">
|
55
|
+
<rect x="4" y="11.5" width="5" height="5" style="fill:none;stroke:#423f30"/>
|
56
|
+
<rect x="9" y="11.5" width="5" height="5" style="fill:none;stroke:#423f30"/>
|
57
|
+
<rect x="14" y="11.5" width="5" height="5" style="fill:none;stroke:#423f30"/>
|
58
|
+
<rect x="9" y="6.5" width="5" height="5" style="fill:none;stroke:#423f30"/>
|
59
|
+
<rect x="14" y="6.5" width="5" height="5" style="fill:none;stroke:#423f30"/>
|
60
|
+
<rect x="14" y="1.5" width="5" height="5" style="fill:none;stroke:#423f30"/>
|
61
|
+
</symbol>
|
62
|
+
<symbol id="archimate-diagram-model-reference-badge" class="archimate-badge" viewBox="0 0 20 20">
|
63
|
+
<rect x="1" y="0.5" width="7" height="7" style="fill:none;stroke:#1c6aa9"/>
|
64
|
+
<rect x="2" y="1.5" width="4.5" height="4.5" style="fill:#c2e8fe;stroke:#c2e8fe"/>
|
65
|
+
<path d="M11 4 h7" style="fill:none;stroke:#c2e8fe"/>
|
66
|
+
<path d="M11 5 h7" style="fill:none;stroke:#1c6aa9"/>
|
67
|
+
<rect x="12" y="8.5" width="2" height="2" style="fill:none;stroke:#1c6aa9"/>
|
68
|
+
<path d="M15 9.5 h3" style="fill:none;stroke:#1c6aa9"/>
|
69
|
+
<rect x="1" y="11.7" width="7" height="7" style="fill:none;stroke:#1c6aa9"/>
|
70
|
+
<rect x="2" y="12.7" width="4.5" height="4.5" style="fill:#c2e8fe;stroke:#c2e8fe"/>
|
71
|
+
<path d="M11 14.7 h7" style="fill:none;stroke:#c2e8fe"/>
|
72
|
+
<path d="M11 15.7 h7" style="fill:none;stroke:#1c6aa9"/>
|
73
|
+
</symbol>
|
74
|
+
<symbol id="archimate-actor-badge" class="archimate-badge" viewBox="0 0 20 20">
|
75
|
+
<path d="M 11 18 l 4 -5 l 4 5 m -4 -5 v -3 h -4 h 8 h -4 v -3 a 3 3 0 1 0 0 -6 a 3 3 0 1 0 0 6" style="fill:inherit;stroke:inherit"/>
|
76
|
+
</symbol>
|
77
|
+
<symbol id="archimate-assessment-badge" class="archimate-badge" viewBox="0 0 20 15">
|
78
|
+
<path d="m4.5 13 l 5 -5 a 4 4 0 1 0 8 -8 a 4 4 0 1 0 -8 8" style="fill:inherit;stroke:inherit"/>
|
79
|
+
</symbol>
|
80
|
+
<symbol id="archimate-collaboration-badge" class="archimate-badge" viewBox="0 0 20 15" preserveAspectRatio="xMaxYMin meet">
|
81
|
+
<path d="m7.5 14 a 6.5 6.5 0 0 1 0 -13 a 6.5 6.5 0 0 1 0 13 m 5 0 a 6.5 6.5 0 0 1 0 -13 a 6.5 6.5 0 0 1 0 13" style="fill:inherit;stroke:inherit"/>
|
82
|
+
</symbol>
|
83
|
+
<symbol id="archimate-communication-badge" class="archimate-badge" viewBox="0 0 20 15">
|
84
|
+
<path d="m7.5 -1 l -6.5 6.5 l 6.5 6.5 m 5 -13 l 6.5 6.5 l -6.5 6.5 m -7 -6.5 h 3 m 3 0 h 3" style="fill:inherit;stroke:inherit"/>
|
85
|
+
</symbol>
|
86
|
+
<symbol id="archimate-constraint-badge" class="archimate-badge" viewBox="0 0 20 15">
|
87
|
+
<path d="m6 -1 h 13 l -5 10 h -13 z m 4 0 l -5 10" style="fill:inherit;stroke:inherit"/>
|
88
|
+
</symbol>
|
89
|
+
<symbol id="archimate-device-badge" class="archimate-badge" viewBox="0 0 20 20">
|
90
|
+
<rect x="2" y="1" width="16" height="10" rx="3" ry="3" style="fill:inherit;stroke:inherit;"/>
|
91
|
+
<path d="M6 11 l -4.5 4 h 17 l -4.5 -4" stroke="black" style="fill:inherit;stroke:inherit;"/>
|
92
|
+
</symbol>
|
93
|
+
<symbol id="archimate-driver-badge" class="archimate-badge" viewBox="0 0 20 15">
|
94
|
+
<path d="m17.5 6.5 a 6.5 6.5 0 0 0 -13 0 a 6.5 6.5 0 0 0 13 0 m 2 0 h -17 m 8.5 -8.5 v 17 m -6.01 -2.49 l 12.02 -12.02 m 0 12.02 l -12.02 -12.02" style="fill:inherit;stroke:inherit"/>
|
95
|
+
</symbol>
|
96
|
+
<symbol id="archimate-function-badge" class="archimate-badge" viewBox="0 0 20 20" preserveAspectRatio="xMaxYMin meet">
|
97
|
+
<path d="m7 15 l 0 -9 l 6 -5 l 6 5 l 0 9 l -6 -6 z" style="fill:none;stroke:inherit"/>
|
98
|
+
</symbol>
|
99
|
+
<symbol id="archimate-gap-badge" class="archimate-badge" viewBox="0 0 20 15">
|
100
|
+
<path d="m4.5 5 a 6.5 6.5 0 0 0 13 0 a 6.5 6.5 0 0 0 -13 0 m -2 -1.5 h 17 m -17 3 h 17" style="fill:inherit;stroke:inherit"/>
|
101
|
+
</symbol>
|
102
|
+
<symbol id="archimate-goal-badge" class="archimate-badge" viewBox="0 0 20 15">
|
103
|
+
<circle cx="12" cy="6" r="7" style="fill:inherit;stroke:inherit"/>
|
104
|
+
<circle cx="12" cy="6" r="4.7" style="fill:inherit;stroke:inherit"/>
|
105
|
+
<circle cx="12" cy="6" r="2" style="fill:black;stroke:inherit;"/>
|
106
|
+
</symbol>
|
107
|
+
<symbol id="archimate-interaction-badge" class="archimate-badge" viewBox="0 0 20 15" preserveAspectRatio="xMaxYMin meet">
|
108
|
+
<path d="M11 14 a 5 6 0 0 1 0 -13 z" style="fill:inherit;stroke:inherit"/>
|
109
|
+
<path d="M14 14 a 5 6 0 0 0 0 -13 z" style="fill:inherit;stroke:inherit"/>
|
110
|
+
</symbol>
|
111
|
+
<symbol id="archimate-interface-badge" class="archimate-badge" viewBox="0 0 20 15" preserveAspectRatio="xMaxYMin meet">
|
112
|
+
<path d="m0.5 6 h 8.5 a 5 5 0 0 1 10 0 a 5 5 0 0 1 -10 0" style="fill:inherit;stroke:inherit"/>
|
113
|
+
</symbol>
|
114
|
+
<symbol id="archimate-location-badge" class="archimate-badge" viewBox="0 0 20 15">
|
115
|
+
<path d="m10 6.5 a 5 5, 0, 1, 1, 8 0 l -4 7 z" style="fill:inherit;stroke:inherit"/>
|
116
|
+
</symbol>
|
117
|
+
<symbol id="archimate-network-badge" class="archimate-badge" viewBox="0 0 20 15">
|
118
|
+
<path d="m9 9.5 a 2.5 2.5 0 0 0 -5 0 a 2.5 2.5 0 0 0 5 0 m -2 -2.5 l 1 -3 m 0.5 0 a 2.5 2.5 0 0 0 0 -5 a 2.5 2.5 0 0 0 0 5 m 2 -2.5 h 3.5 a 2.5 2.5 0 0 0 5 0 a 2.5 2.5 0 0 0 -5 0 m 2 2.5 l -1 3 m -0.5 0 a 2.5 2.5 0 0 0 0 5 a 2.5 2.5 0 0 0 0 -5 m -2 2.5 h -3.5" style="fill:inherit;stroke:inherit"/>
|
119
|
+
</symbol>
|
120
|
+
<symbol id="archimate-node-badge" class="archimate-badge" viewBox="0 0 20 20">
|
121
|
+
<path d="M1 19 v -15 l 3 -3 h 15 v 15 l -3 3 z M 16 19 v -15 l 3 -3 m -3 3 h -15" style="fill:none;stroke:inherit;stroke-linejoin:miter;"/>
|
122
|
+
</symbol>
|
123
|
+
<symbol id="archimate-plateau-badge" class="archimate-badge" viewBox="0 0 20 15">
|
124
|
+
<path d="m7 0 h 12 m -12 1 h 12 m -14 3 h 12 m -12 1 h 12 m -14 3 h 12 m -12 1 h 12" style="fill:inherit;stroke:inherit"/>
|
125
|
+
</symbol>
|
126
|
+
<symbol id="archimate-principle-badge" class="archimate-badge" viewBox="0 0 20 15">
|
127
|
+
<path d="m8.5 -1 h 8 a 2 2 0 0 0 2 2 v 9 a 2 2 0 0 0 -2 2 h -8 a 2 2 0 0 0 -2 -2 v -9 a 2 2 0 0 0 2 -2 m 4 1 v7 m 1 -7 v7 m -1 1.5 v2 m 1 -2 v2" style="fill:inherit;stroke:inherit"/>
|
128
|
+
</symbol>
|
129
|
+
<symbol id="archimate-process-badge" class="archimate-badge" viewBox="0 0 20 15">
|
130
|
+
<path d="m1 3 h 11 v -4 l 7 6 l -7 6 v -4 h -11 z" style="fill:inherit;stroke:inherit"/>
|
131
|
+
</symbol>
|
132
|
+
<symbol id="archimate-requirement-badge" class="archimate-badge" viewBox="0 0 20 15">
|
133
|
+
<path d="m6 -1 h 13 l -5 10 h -13 z" style="fill:inherit;stroke:inherit"/>
|
134
|
+
</symbol>
|
135
|
+
<symbol id="archimate-role-badge" class="archimate-badge" viewBox="0 0 20 20">
|
136
|
+
<path d="m15 10.5 h -10 a 4.5 4.5 0 0 1 0 -9 h 10 a 4.5 4.5 0 0 1 0 9 a 4.5 4.5 0 0 1 0 -9" style="fill:inherit;stroke:inherit"/>
|
137
|
+
</symbol>
|
138
|
+
<symbol id="archimate-service-badge" class="archimate-badge" viewBox="0 0 20 20">
|
139
|
+
<rect x="1" y="1" width="17" height="10" rx="5" ry="5" style="fill:inherit;stroke:inherit;"/>
|
140
|
+
</symbol>
|
141
|
+
<symbol id="archimate-system-software-badge" class="archimate-badge" viewBox="0 0 20 15">
|
142
|
+
<path d="m9.5 1 a 5.5 5.5 0 0 1 0 11 a 5.5 5.5 0 0 1 0 -11 m -2.8 0.7 a 5.5 5.5 0 1 1 7.6 7.6" style="fill:inherit;stroke:inherit"/>
|
143
|
+
</symbol>
|
144
|
+
|
145
|
+
<!-- Line Markers -->
|
146
|
+
<marker id="archimate-dot-marker" viewBox="0 0 10 10" refX="4" refY="4" markerUnits="strokeWidth" markerWidth="8" markerHeight="8">
|
147
|
+
<circle cx="4" cy="4" r="3" fill="black" stroke="black" />
|
148
|
+
</marker>
|
149
|
+
<marker id="archimate-used-by-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="8" orient="auto">
|
150
|
+
<path d="M 1 1 L 9 5 L 1 9" fill="none" stroke="black" style="fill:none;stroke:black;"/>
|
151
|
+
</marker>
|
152
|
+
<marker id="archimate-open-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="8" orient="auto">
|
153
|
+
<path d="M 1 1 L 9 5 L 1 9" fill="none" stroke="black"/>
|
154
|
+
</marker>
|
155
|
+
<marker id="archimate-filled-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="12" markerHeight="12" orient="auto">
|
156
|
+
<polygon points="1,1 9,5 1,9" fill="black" stroke="black"/>
|
157
|
+
</marker>
|
158
|
+
<marker id="archimate-hollow-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="12" markerHeight="12" orient="auto">
|
159
|
+
<polygon points="1,1 9,5 1,9" fill="white" stroke="black"/>
|
160
|
+
</marker>
|
161
|
+
<marker id="archimate-filled-diamond" viewBox="0 0 10 10" refX="1" refY="5" markerUnits="strokeWidth" markerWidth="12" markerHeight="12" orient="auto">
|
162
|
+
<polygon points="5,2.5 9,5 5,7.5 1,5" fill="black" stroke="black"/>
|
163
|
+
</marker>
|
164
|
+
<marker id="archimate-hollow-diamond" viewBox="0 0 10 10" refX="1" refY="5" markerUnits="strokeWidth" markerWidth="13" markerHeight="13" orient="auto">
|
165
|
+
<polygon points="5,2.5 9,5 5,7.5 1,5" fill="white" stroke="black"/>
|
166
|
+
</marker>
|
167
|
+
</defs>
|
168
|
+
<g id="archimate-diagram"></g>
|
169
|
+
</svg>
|
data/lib/archimate.rb
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "dry-types"
|
4
|
+
require "dry-struct"
|
5
|
+
|
6
|
+
module Archimate
|
7
|
+
SUPPORTED_FORMATS = %i[
|
8
|
+
archi_3
|
9
|
+
archi_4
|
10
|
+
archimate_2_1
|
11
|
+
archimate_3_0
|
12
|
+
].freeze
|
13
|
+
|
14
|
+
ARCHIMATE_VERSIONS = %i[
|
15
|
+
archimate_2_1
|
16
|
+
archimate_3_0
|
17
|
+
].freeze
|
18
|
+
|
19
|
+
module Cli
|
20
|
+
autoload :Archi, 'archimate/cli/archi'
|
21
|
+
autoload :Cleanup, 'archimate/cli/cleanup'
|
22
|
+
autoload :ConflictResolver, 'archimate/cli/conflict_resolver'
|
23
|
+
autoload :Convert, 'archimate/cli/convert'
|
24
|
+
autoload :Diff, 'archimate/cli/diff'
|
25
|
+
autoload :DiffSummary, 'archimate/cli/diff_summary'
|
26
|
+
autoload :Duper, 'archimate/cli/duper'
|
27
|
+
autoload :Lint, 'archimate/cli/lint'
|
28
|
+
autoload :Mapper, 'archimate/cli/mapper'
|
29
|
+
autoload :Merge, 'archimate/cli/merge'
|
30
|
+
autoload :Merger, 'archimate/cli/merger'
|
31
|
+
autoload :Stats, 'archimate/cli/stats'
|
32
|
+
autoload :Svger, 'archimate/cli/svger'
|
33
|
+
end
|
34
|
+
|
35
|
+
module Export
|
36
|
+
autoload :NQuads, 'archimate/export/n_quads'
|
37
|
+
autoload :GraphML, 'archimate/export/graph_ml'
|
38
|
+
autoload :CSVExport, 'archimate/export/csv_export'
|
39
|
+
autoload :Cypher, 'archimate/export/cypher'
|
40
|
+
end
|
41
|
+
|
42
|
+
module FileFormats
|
43
|
+
autoload :ArchimateV2, 'archimate/file_formats/archimate_v2'
|
44
|
+
autoload :ArchiFileFormat, 'archimate/file_formats/archi_file_format'
|
45
|
+
autoload :ArchiFileReader, 'archimate/file_formats/archi_file_reader'
|
46
|
+
autoload :ArchiFileWriter, 'archimate/file_formats/archi_file_writer'
|
47
|
+
autoload :ModelExchangeFileFormat, 'archimate/file_formats/model_exchange_file_format'
|
48
|
+
autoload :ModelExchangeFileReader, 'archimate/file_formats/model_exchange_file_reader'
|
49
|
+
autoload :ModelExchangeFileReader21, 'archimate/file_formats/model_exchange_file_reader_21'
|
50
|
+
autoload :ModelExchangeFileReader30, 'archimate/file_formats/model_exchange_file_reader_30'
|
51
|
+
autoload :ModelExchangeFileWriter, 'archimate/file_formats/model_exchange_file_writer'
|
52
|
+
autoload :ModelExchangeFileWriter21, 'archimate/file_formats/model_exchange_file_writer_21'
|
53
|
+
autoload :ModelExchangeFileWriter30, 'archimate/file_formats/model_exchange_file_writer_30'
|
54
|
+
autoload :Writer, 'archimate/file_formats/writer'
|
55
|
+
module ModelExchangeFile
|
56
|
+
autoload :XmlLangString, 'archimate/file_formats/model_exchange_file/xml_lang_string'
|
57
|
+
autoload :XmlMetadata, 'archimate/file_formats/model_exchange_file/xml_metadata'
|
58
|
+
autoload :XmlPropertyDefinitions, 'archimate/file_formats/model_exchange_file/xml_property_definitions'
|
59
|
+
autoload :XmlPropertyDefs, 'archimate/file_formats/model_exchange_file/xml_property_defs'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
module Lint
|
64
|
+
autoload :DuplicateEntities, 'archimate/lint/duplicate_entities'
|
65
|
+
autoload :Linter, 'archimate/lint/linter'
|
66
|
+
end
|
67
|
+
|
68
|
+
module Svg
|
69
|
+
autoload :Child, 'archimate/svg/child'
|
70
|
+
autoload :CssStyle, 'archimate/svg/css_style'
|
71
|
+
autoload :Connection, 'archimate/svg/connection'
|
72
|
+
autoload :Diagram, 'archimate/svg/diagram'
|
73
|
+
autoload :Entity, 'archimate/svg/entity'
|
74
|
+
autoload :EntityFactory, 'archimate/svg/entity_factory'
|
75
|
+
autoload :Extents, 'archimate/svg/extents'
|
76
|
+
autoload :Point, 'archimate/svg/point'
|
77
|
+
autoload :SvgTemplate, 'archimate/svg/svg_template'
|
78
|
+
end
|
79
|
+
|
80
|
+
autoload :FileFormat, 'archimate/file_format'
|
81
|
+
autoload :MaybeIO, 'archimate/maybe_io'
|
82
|
+
autoload :ProgressIndicator, 'archimate/progress_indicator'
|
83
|
+
|
84
|
+
require "archimate/version"
|
85
|
+
require "archimate/config"
|
86
|
+
require "archimate/logging"
|
87
|
+
require "archimate/color"
|
88
|
+
require 'archimate/data_model'
|
89
|
+
require 'archimate/diff'
|
90
|
+
|
91
|
+
# Computes the set of differences between base and remote models
|
92
|
+
def self.diff(base, remote)
|
93
|
+
base.diff(remote)
|
94
|
+
end
|
95
|
+
|
96
|
+
# Reads the given file and returns the Archimate model
|
97
|
+
#
|
98
|
+
# @param filename File name of the file to read
|
99
|
+
# @return Archimate::DataModel::Model of ArchiMate model in the file
|
100
|
+
def self.read(filename)
|
101
|
+
FileFormat.read(filename)
|
102
|
+
end
|
103
|
+
|
104
|
+
# Reads the given file and returns the Archimate model
|
105
|
+
#
|
106
|
+
# @param filename File name of the file to read
|
107
|
+
# @return Archimate::DataModel::Model of ArchiMate model in the file
|
108
|
+
def self.parse(filename)
|
109
|
+
FileFormat.parse(filename)
|
110
|
+
end
|
111
|
+
|
112
|
+
using DataModel::DiffablePrimitive
|
113
|
+
using DataModel::DiffableArray
|
114
|
+
end
|