lutaml 0.9.27 → 0.9.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.adoc +36 -35
- data/bin/plantuml2lutaml +11 -7
- data/bin/yaml2lutaml +1 -1
- data/exe/lutaml-sysml +4 -2
- data/exe/lutaml-wsd2uml +11 -7
- data/exe/lutaml-yaml2uml +1 -1
- data/lib/lutaml/express/parsers/exp.rb +4 -4
- data/lib/lutaml/formatter/graphviz.rb +7 -7
- data/lib/lutaml/parser.rb +3 -31
- data/lib/lutaml/sysml/allocate.rb +6 -7
- data/lib/lutaml/sysml/allocated.rb +6 -6
- data/lib/lutaml/sysml/binding_connector.rb +6 -6
- data/lib/lutaml/sysml/block.rb +28 -25
- data/lib/lutaml/sysml/constraint_block.rb +11 -11
- data/lib/lutaml/sysml/copy.rb +5 -5
- data/lib/lutaml/sysml/derive_requirement.rb +6 -6
- data/lib/lutaml/sysml/nested_connector_end.rb +9 -9
- data/lib/lutaml/sysml/refine.rb +6 -6
- data/lib/lutaml/sysml/requirement_related.rb +6 -6
- data/lib/lutaml/sysml/satisfy.rb +6 -6
- data/lib/lutaml/sysml/test_case.rb +20 -19
- data/lib/lutaml/sysml/trace.rb +6 -6
- data/lib/lutaml/sysml/verify.rb +5 -5
- data/lib/lutaml/sysml/version.rb +1 -1
- data/lib/lutaml/sysml/xmi_file.rb +455 -415
- data/lib/lutaml/sysml.rb +1 -1
- data/lib/lutaml/uml/association.rb +4 -3
- data/lib/lutaml/uml/data_type.rb +1 -0
- data/lib/lutaml/uml/document.rb +4 -1
- data/lib/lutaml/uml/formatter/graphviz.rb +11 -13
- data/lib/lutaml/uml/has_attributes.rb +2 -2
- data/lib/lutaml/uml/has_members.rb +4 -3
- data/lib/lutaml/uml/node/class_node.rb +5 -7
- data/lib/lutaml/uml/node/field.rb +1 -3
- data/lib/lutaml/uml/node/method.rb +1 -3
- data/lib/lutaml/uml/node/relationship.rb +1 -3
- data/lib/lutaml/uml/operation.rb +6 -6
- data/lib/lutaml/uml/package.rb +3 -1
- data/lib/lutaml/uml/parsers/attribute.rb +1 -3
- data/lib/lutaml/uml/parsers/dsl.rb +11 -10
- data/lib/lutaml/uml/parsers/dsl_preprocessor.rb +7 -6
- data/lib/lutaml/uml/parsers/yaml.rb +2 -2
- data/lib/lutaml/uml/serializers/class.rb +1 -1
- data/lib/lutaml/uml/top_element.rb +9 -9
- data/lib/lutaml/uml/top_element_attribute.rb +6 -6
- data/lib/lutaml/uml/value.rb +6 -6
- data/lib/lutaml/version.rb +1 -1
- data/lib/lutaml/xmi/liquid_drops/association_drop.rb +31 -11
- data/lib/lutaml/xmi/liquid_drops/attribute_drop.rb +29 -11
- data/lib/lutaml/xmi/liquid_drops/cardinality_drop.rb +8 -2
- data/lib/lutaml/xmi/liquid_drops/constraint_drop.rb +6 -4
- data/lib/lutaml/xmi/liquid_drops/data_type_drop.rb +76 -18
- data/lib/lutaml/xmi/liquid_drops/diagram_drop.rb +13 -6
- data/lib/lutaml/xmi/liquid_drops/enum_drop.rb +16 -7
- data/lib/lutaml/xmi/liquid_drops/enum_owned_literal_drop.rb +10 -4
- data/lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb +2 -0
- data/lib/lutaml/xmi/liquid_drops/generalization_drop.rb +10 -3
- data/lib/lutaml/xmi/liquid_drops/klass_drop.rb +98 -24
- data/lib/lutaml/xmi/liquid_drops/operation_drop.rb +11 -5
- data/lib/lutaml/xmi/liquid_drops/package_drop.rb +61 -18
- data/lib/lutaml/xmi/liquid_drops/root_drop.rb +14 -4
- data/lib/lutaml/xmi/parsers/xmi_base.rb +1031 -0
- data/lib/lutaml/xmi/parsers/xml.rb +23 -1018
- data/lib/lutaml/xml/parsers/xml.rb +6 -19
- data/lib/lutaml/xml.rb +0 -8
- data/lutaml.gemspec +2 -1
- metadata +32 -23
- data/lib/lutaml/express/lutaml_path/document_wrapper.rb +0 -22
- data/lib/lutaml/express/lutaml_path/formatter.rb +0 -14
- data/lib/lutaml/lutaml_path/document_wrapper.rb +0 -51
- data/lib/lutaml/uml/lutaml_path/document_wrapper.rb +0 -15
- data/lib/lutaml/xml/lutaml_path/document_wrapper.rb +0 -45
- data/lib/lutaml/xml/mapper.rb +0 -448
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9906a661e00ac7afb79f61a10c4d73e07ee9103028aab33e7364d50e1e5a45c0
|
4
|
+
data.tar.gz: eebdee0a0418f2de61317e2f320f7fc15a1ab79eb32200bccce98c2dc3b55cfd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07ad5d9a28f2e5dd7df6b836d810028f4bccfa194ae46dfa95a1d4f923e07707249a0b60f1e05ec80130fc4ecbb9ed626651a63599629deb4da23a68740631e8
|
7
|
+
data.tar.gz: 9da4230858d7876cdd83d2748020e4400d14245ab26623d1d18e15422e03a0c7fdaf447ed70328310efd0b396e662027d766c3b832d8a13513812fca6af8c798
|
data/README.adoc
CHANGED
@@ -31,52 +31,53 @@ $ gem install lutaml
|
|
31
31
|
=== Parsing
|
32
32
|
|
33
33
|
The `Lutaml::Parser.parse` method provides a single point of entry for parsing
|
34
|
-
data model files
|
34
|
+
data model files, such as:
|
35
35
|
|
36
|
-
|
37
|
-
|
36
|
+
* EXPRESS files with `.exp` extension
|
37
|
+
* YAML Compressed EXPRESS CACHE files
|
38
|
+
* XMI files with `.xmi` extension
|
39
|
+
* XML files with `.xml` extension
|
40
|
+
* LutaML files with `.lutaml` extension
|
41
|
+
* LutaML YAML files with `.yml` extension
|
42
|
+
|
43
|
+
Depending on the input file type, `Lutaml::Parser.parse` returns:
|
44
|
+
|
45
|
+
* `Expressir::Express::Model::Repository` for EXPRESS files
|
46
|
+
* `Expressir::Express::Cache` for EXPRESS CACHE files
|
47
|
+
* `Lutaml::Uml::Document` for XMI files
|
48
|
+
* `Lutaml::Uml::Document` for XML files
|
49
|
+
* `Lutaml::Uml::Document` for LutaML files
|
50
|
+
* `Lutaml::Uml::Document` for LutaML YAML files
|
51
|
+
|
52
|
+
Examples to use the `Lutaml::Parser.parse`:
|
38
53
|
|
39
54
|
[source,ruby]
|
40
55
|
----
|
56
|
+
require "lutaml"
|
57
|
+
|
41
58
|
# example.exp is an EXPRESS schema file
|
42
|
-
|
43
|
-
# => returns
|
44
|
-
wrapper.original_document
|
45
|
-
# => returns the original Expressir::Repository object
|
46
|
-
----
|
59
|
+
model = Lutaml::Parser.parse([File.new("example.exp")])
|
60
|
+
# => returns Expressir::Express::Model::Repository model
|
47
61
|
|
48
|
-
[source,ruby]
|
49
|
-
----
|
50
62
|
# example.exp.yaml is an EXPRESS cache file created with Expressir
|
51
|
-
|
52
|
-
# => returns
|
53
|
-
----
|
54
|
-
|
63
|
+
model = Lutaml::Parser.parse([File.new("example.exp.yaml")], ::Lutaml::Parser::EXPRESS_CACHE_PARSE_TYPE)
|
64
|
+
# => returns Expressir::Express::Cache model
|
55
65
|
|
56
|
-
|
66
|
+
# example.xmi is an XMI file
|
67
|
+
model = Lutaml::Parser.parse([File.new("example.xmi")])
|
68
|
+
# => returns Lutaml::Uml::Document model
|
57
69
|
|
58
|
-
|
59
|
-
|
60
|
-
|
70
|
+
# example.xml is an XML file
|
71
|
+
model = Lutaml::Parser.parse([File.new("example.xml")])
|
72
|
+
# => returns Lutaml::Uml::Document model
|
61
73
|
|
62
|
-
|
74
|
+
# example.lutaml is an LutaML file
|
75
|
+
model = Lutaml::Parser.parse([File.new("example.lutaml")])
|
76
|
+
# => returns Lutaml::Uml::Document model
|
63
77
|
|
64
|
-
|
65
|
-
|
66
|
-
#
|
67
|
-
filtered_schemas = ["action_schema", "date_time_schema"]
|
68
|
-
|
69
|
-
# Sets the Proc
|
70
|
-
wrapper.select_proc = Proc.new do |value|
|
71
|
-
if value.is_a?(Expressir::Model::Declarations::Schema)
|
72
|
-
filtered_schemas.include?(value.id)
|
73
|
-
else
|
74
|
-
true
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
serialized = wrapper.to_liquid
|
79
|
-
# => returns the filtered to_hash method
|
78
|
+
# example.yaml is an LutaML YAML file
|
79
|
+
model = Lutaml::Parser.parse([File.new("example.yaml")])
|
80
|
+
# => returns Lutaml::Uml::Document model
|
80
81
|
----
|
81
82
|
|
82
83
|
|
data/bin/plantuml2lutaml
CHANGED
@@ -14,9 +14,9 @@ def sync_puts(line, level = 0)
|
|
14
14
|
$stdout.flush
|
15
15
|
end
|
16
16
|
|
17
|
-
SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml
|
18
|
-
COMMENT_START = /\/'
|
19
|
-
COMMENT_END = /'
|
17
|
+
SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml|!|'\/)/.freeze
|
18
|
+
COMMENT_START = /\/'/.freeze
|
19
|
+
COMMENT_END = /'\//.freeze
|
20
20
|
ASSOCIATION_MAPPINGS = {
|
21
21
|
/-\|>/ => ",inheritance",
|
22
22
|
/<\|-/ => "inheritance,",
|
@@ -27,11 +27,15 @@ ASSOCIATION_MAPPINGS = {
|
|
27
27
|
in_comment_block = false
|
28
28
|
|
29
29
|
def transform_line(line)
|
30
|
-
line = line.gsub(/^\s*'/,
|
31
|
-
return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none?
|
30
|
+
line = line.gsub(/^\s*'/, "** ").gsub(/\|[\sa-zA-Z]+$/, "")
|
31
|
+
return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none? do |key|
|
32
|
+
line =~ key
|
33
|
+
end
|
32
34
|
|
33
|
-
owner_type, member_type = ASSOCIATION_MAPPINGS.detect
|
34
|
-
|
35
|
+
owner_type, member_type = ASSOCIATION_MAPPINGS.detect do |(key, _value)|
|
36
|
+
line =~ key
|
37
|
+
end.last.split(",")
|
38
|
+
blocks = line.split
|
35
39
|
owner = blocks.first
|
36
40
|
member = blocks.last
|
37
41
|
sync_puts("association {", 2)
|
data/bin/yaml2lutaml
CHANGED
@@ -82,7 +82,7 @@ view_yaml["relations"]&.each do |values|
|
|
82
82
|
process_association(values["source"], values, encountered_relations)
|
83
83
|
end
|
84
84
|
|
85
|
-
view_yaml["imports"].
|
85
|
+
view_yaml["imports"].each_key do |entry|
|
86
86
|
import = YAML.safe_load(File.read(File.join(models_path, "#{entry}.yml")))
|
87
87
|
import_name = import["name"] || File.basename(entry)
|
88
88
|
# Class notation
|
data/exe/lutaml-sysml
CHANGED
@@ -11,8 +11,10 @@ $:.unshift File.expand_path("../../lib", bin_file)
|
|
11
11
|
# Fixes https://github.com/rubygems/rubygems/issues/1420
|
12
12
|
require "rubygems/specification"
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
module Gem
|
15
|
+
class Specification
|
16
|
+
def this; self; end
|
17
|
+
end
|
16
18
|
end
|
17
19
|
|
18
20
|
# start up the CLI
|
data/exe/lutaml-wsd2uml
CHANGED
@@ -14,9 +14,9 @@ def sync_puts(line, level = 0)
|
|
14
14
|
$stdout.flush
|
15
15
|
end
|
16
16
|
|
17
|
-
SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml
|
18
|
-
COMMENT_START = /\/'
|
19
|
-
COMMENT_END = /'
|
17
|
+
SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml|!|'\/)/.freeze
|
18
|
+
COMMENT_START = /\/'/.freeze
|
19
|
+
COMMENT_END = /'\//.freeze
|
20
20
|
ASSOCIATION_MAPPINGS = {
|
21
21
|
/-\|>/ => ",inheritance",
|
22
22
|
/<\|-/ => "inheritance,",
|
@@ -27,11 +27,15 @@ ASSOCIATION_MAPPINGS = {
|
|
27
27
|
in_comment_block = false
|
28
28
|
|
29
29
|
def transform_line(line)
|
30
|
-
line = line.gsub(/^\s*'/,
|
31
|
-
return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none?
|
30
|
+
line = line.gsub(/^\s*'/, "** ").gsub(/\|[\sa-zA-Z]+$/, "").delete("\r")
|
31
|
+
return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none? do |key|
|
32
|
+
line =~ key
|
33
|
+
end
|
32
34
|
|
33
|
-
owner_type, member_type = ASSOCIATION_MAPPINGS.detect
|
34
|
-
|
35
|
+
owner_type, member_type = ASSOCIATION_MAPPINGS.detect do |(key, _value)|
|
36
|
+
line =~ key
|
37
|
+
end.last.split(",")
|
38
|
+
blocks = line.split
|
35
39
|
owner = blocks.first
|
36
40
|
member = blocks.last
|
37
41
|
sync_puts("association {", 2)
|
data/exe/lutaml-yaml2uml
CHANGED
@@ -82,7 +82,7 @@ view_yaml["relations"]&.each do |values|
|
|
82
82
|
process_association(values["source"], values, encountered_relations)
|
83
83
|
end
|
84
84
|
|
85
|
-
view_yaml["imports"].
|
85
|
+
view_yaml["imports"].each_key do |entry|
|
86
86
|
import = YAML.safe_load(File.read(File.join(models_path, "#{entry}.yml")))
|
87
87
|
import_name = import["name"] || File.basename(entry)
|
88
88
|
# Class notation
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "expressir"
|
4
|
+
require "expressir/express/parser"
|
5
5
|
|
6
6
|
module Lutaml
|
7
7
|
module Express
|
@@ -12,10 +12,10 @@ module Lutaml
|
|
12
12
|
# [Hash] options - options for parsing
|
13
13
|
#
|
14
14
|
# @return [Expressir::Model::Repository]
|
15
|
-
def self.parse(io,
|
15
|
+
def self.parse(io, _options = {})
|
16
16
|
Expressir::Express::Parser.from_file(io.path)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
21
|
-
end
|
21
|
+
end
|
@@ -81,10 +81,10 @@ module Lutaml
|
|
81
81
|
|
82
82
|
def escape_html_chars(text)
|
83
83
|
text
|
84
|
-
.gsub(
|
85
|
-
.gsub(
|
86
|
-
.gsub(
|
87
|
-
.gsub(
|
84
|
+
.gsub("<", "<")
|
85
|
+
.gsub(">", ">")
|
86
|
+
.gsub("[", "[")
|
87
|
+
.gsub("]", "]")
|
88
88
|
end
|
89
89
|
|
90
90
|
def format_field(node)
|
@@ -197,7 +197,7 @@ module Lutaml
|
|
197
197
|
end
|
198
198
|
|
199
199
|
def format_member_rows(members, hide_members)
|
200
|
-
unless !hide_members && members
|
200
|
+
unless !hide_members && members&.length&.positive?
|
201
201
|
return <<~HEREDOC.chomp
|
202
202
|
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
|
203
203
|
<TR><TD ALIGN="LEFT"></TD></TR>
|
@@ -210,10 +210,10 @@ module Lutaml
|
|
210
210
|
end
|
211
211
|
field_table = <<~HEREDOC.chomp
|
212
212
|
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
|
213
|
-
#{field_rows.map { |row| ' ' * 10 + row }.join("\n")}
|
213
|
+
#{field_rows.map { |row| (' ' * 10) + row }.join("\n")}
|
214
214
|
</TABLE>
|
215
215
|
HEREDOC
|
216
|
-
field_table << "\n" << " " * 6
|
216
|
+
field_table << "\n" << (" " * 6)
|
217
217
|
field_table
|
218
218
|
end
|
219
219
|
|
data/lib/lutaml/parser.rb
CHANGED
@@ -2,8 +2,6 @@ require "lutaml/express"
|
|
2
2
|
require "lutaml/uml"
|
3
3
|
require "lutaml/xmi"
|
4
4
|
require "lutaml/xml"
|
5
|
-
require "lutaml/uml/lutaml_path/document_wrapper"
|
6
|
-
require "lutaml/express/lutaml_path/document_wrapper"
|
7
5
|
require "expressir/express/cache"
|
8
6
|
|
9
7
|
module Lutaml
|
@@ -14,14 +12,10 @@ module Lutaml
|
|
14
12
|
|
15
13
|
class << self
|
16
14
|
def parse(file_list, input_type = nil)
|
17
|
-
file_list = file_list.is_a?(Array)
|
18
|
-
new(Array(file_list), input_type).parse
|
19
|
-
end
|
20
|
-
|
21
|
-
def parse_into_document(file_list, input_type = nil)
|
22
|
-
file_list = file_list.is_a?(Array) ? file_list : [file_list]
|
15
|
+
file_list = [file_list] unless file_list.is_a?(Array)
|
23
16
|
new(Array(file_list), input_type).parse_into_document
|
24
17
|
end
|
18
|
+
alias_method :parse_into_document, :parse
|
25
19
|
end
|
26
20
|
|
27
21
|
def initialize(file_list, input_type)
|
@@ -29,15 +23,7 @@ module Lutaml
|
|
29
23
|
@file_list = file_list
|
30
24
|
end
|
31
25
|
|
32
|
-
def
|
33
|
-
documents = parse_into_document
|
34
|
-
return document_wrapper(documents) if ["exp",
|
35
|
-
EXPRESS_CACHE_PARSE_TYPE].include?(parse_type)
|
36
|
-
|
37
|
-
documents.map { |doc| document_wrapper(doc) }
|
38
|
-
end
|
39
|
-
|
40
|
-
def parse_into_document
|
26
|
+
def parse_into_document # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
|
41
27
|
case parse_type
|
42
28
|
when "exp"
|
43
29
|
Expressir::Express::Parser.from_files(file_list.map(&:path))
|
@@ -55,19 +41,5 @@ module Lutaml
|
|
55
41
|
raise ArgumentError, "Unsupported file format"
|
56
42
|
end
|
57
43
|
end
|
58
|
-
|
59
|
-
private
|
60
|
-
|
61
|
-
def document_wrapper(document)
|
62
|
-
if ["exp", EXPRESS_CACHE_PARSE_TYPE].include?(parse_type)
|
63
|
-
return Lutaml::Express::LutamlPath::DocumentWrapper.new(document)
|
64
|
-
end
|
65
|
-
|
66
|
-
if parse_type == "xml"
|
67
|
-
return Lutaml::Xml::LutamlPath::DocumentWrapper.new(document)
|
68
|
-
end
|
69
|
-
|
70
|
-
Lutaml::Uml::LutamlPath::DocumentWrapper.new(document)
|
71
|
-
end
|
72
44
|
end
|
73
45
|
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
module Lutaml
|
2
|
-
|
3
|
-
class Allocated < Lutaml::Uml::TopElement
|
4
|
-
|
1
|
+
module Lutaml
|
2
|
+
module SysMl
|
3
|
+
class Allocated < Lutaml::Uml::TopElement
|
4
|
+
attr_accessor :base_named_element, :allocated_from, :allocated_to
|
5
|
+
end
|
6
|
+
end
|
5
7
|
end
|
6
|
-
|
7
|
-
end
|
data/lib/lutaml/sysml/block.rb
CHANGED
@@ -1,27 +1,30 @@
|
|
1
|
-
module Lutaml
|
1
|
+
module Lutaml
|
2
|
+
module SysMl
|
3
|
+
class Block < Lutaml::Uml::Class
|
4
|
+
attr_accessor :base_class
|
2
5
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
def full_name
|
20
|
-
if base_class != nil and base_class.name != nil
|
21
|
-
return base_class.full_name
|
22
|
-
end
|
23
|
-
return nil
|
24
|
-
end
|
25
|
-
end
|
6
|
+
def initialize
|
7
|
+
@xmi_id = nil
|
8
|
+
@nested_classifier = []
|
9
|
+
@stereotype = []
|
10
|
+
@namespace = nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def name
|
14
|
+
if !base_class.nil? && !base_class.name.nil?
|
15
|
+
return base_class.name
|
16
|
+
end
|
17
|
+
|
18
|
+
nil
|
19
|
+
end
|
26
20
|
|
27
|
-
|
21
|
+
def full_name
|
22
|
+
if !base_class.nil? && !base_class.name.nil?
|
23
|
+
return base_class.full_name
|
24
|
+
end
|
25
|
+
|
26
|
+
nil
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
module Lutaml
|
2
|
-
|
3
|
-
class ConstraintBlock < Block
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
1
|
+
module Lutaml
|
2
|
+
module SysMl
|
3
|
+
class ConstraintBlock < Block
|
4
|
+
def initialize
|
5
|
+
@xmi_id = nil
|
6
|
+
@nested_classifier = []
|
7
|
+
@stereotype = []
|
8
|
+
@namespace = nil
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
10
12
|
end
|
11
|
-
|
12
|
-
end
|
data/lib/lutaml/sysml/copy.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
module Lutaml
|
1
|
+
module Lutaml
|
2
|
+
module SysMl
|
3
|
+
class NestedConnectorEnd < Lutaml::Uml::ConnectorEnd
|
4
|
+
attr_accessor :base_connectorend, :property_path
|
2
5
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
def initialize
|
7
|
+
@property_path = []
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
8
11
|
end
|
9
|
-
|
10
|
-
|
11
|
-
end
|
data/lib/lutaml/sysml/refine.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
module Lutaml
|
2
|
-
|
3
|
-
class RequirementRelated < Lutaml::Uml::TopElement
|
4
|
-
|
1
|
+
module Lutaml
|
2
|
+
module SysMl
|
3
|
+
class RequirementRelated < Lutaml::Uml::TopElement
|
4
|
+
attr_accessor :base_named_element, :satisfies, :refines
|
5
|
+
end
|
6
|
+
end
|
5
7
|
end
|
6
|
-
|
7
|
-
end
|
data/lib/lutaml/sysml/satisfy.rb
CHANGED
@@ -1,22 +1,23 @@
|
|
1
|
-
module Lutaml
|
1
|
+
module Lutaml
|
2
|
+
module SysMl
|
3
|
+
class TestCase < Lutaml::Uml::TopElement
|
4
|
+
attr_accessor :base_behavior, :verifies
|
2
5
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
if base_behavior != nil and base_behavior.name != nil
|
8
|
-
return base_behavior.name
|
9
|
-
end
|
10
|
-
return nil
|
11
|
-
end
|
12
|
-
|
13
|
-
def full_name
|
14
|
-
if base_behavior != nil and base_behavior.name != nil
|
15
|
-
return base_behavior.full_name
|
16
|
-
end
|
17
|
-
return nil
|
18
|
-
end
|
6
|
+
def name
|
7
|
+
if !base_behavior.nil? && !base_behavior.name.nil?
|
8
|
+
return base_behavior.name
|
9
|
+
end
|
19
10
|
|
20
|
-
|
11
|
+
nil
|
12
|
+
end
|
13
|
+
|
14
|
+
def full_name
|
15
|
+
if !base_behavior.nil? && !base_behavior.name.nil?
|
16
|
+
return base_behavior.full_name
|
17
|
+
end
|
21
18
|
|
22
|
-
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/lutaml/sysml/trace.rb
CHANGED
data/lib/lutaml/sysml/verify.rb
CHANGED
data/lib/lutaml/sysml/version.rb
CHANGED