activefacts-metamodel 1.8.3 → 1.9.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 191d182dcc1294a8a95c45837cb280eb7c5f6aa5
4
- data.tar.gz: dc363ab895323a22cdecc5f6e475a5ca5e833346
3
+ metadata.gz: afb3d3c2e330c364478dbfa0f3add48f91977a18
4
+ data.tar.gz: cae27ec48c4f46e2a0827bbddc20cc1560c997e9
5
5
  SHA512:
6
- metadata.gz: 620e4357c3c17757a3e62267350aaa7d8270176dd07ef32ef1a618ab9cbbf35c82f1ad251fc133e1e848351bf88ed44a608ff47fe351d522fe2f8645d9939246
7
- data.tar.gz: 3f2721be2e27a9ec39b00054c83176add5122f18814b9ef5c6a6c29d00288ba80298043a90b60506bb847c111d45c9db58b474685aa8570e199bc95abfaa69dc
6
+ metadata.gz: 4a4db7310d00e7fea438ab2edbfa536d5ff994ae736ef491ee58173a5affda389e28a0cad2a7ddfad81d4cd175df1c9078df7a35d01286bb02dbe80086764893
7
+ data.tar.gz: 79de78dfc8c6f0ec08c14a7a23940dc5dbc22e422b21614255472bae3449d49411c1d67c14b19cd0c161afc0bae72148c48d12abba990eb081dfbcd827ca1fee
@@ -24,6 +24,6 @@ This gem provides the core representations for the Fact Modeling tools of Active
24
24
  spec.add_development_dependency "rake", "~> 10.0"
25
25
  spec.add_development_dependency "rspec", "~> 3.3"
26
26
 
27
- spec.add_runtime_dependency "activefacts-api", ">= 1.8", "~> 1.8.5"
27
+ spec.add_runtime_dependency "activefacts-api", ">= 1.9", "~> 1.9.0"
28
28
  spec.add_development_dependency "activefacts", "~> 1.8", "~> 1.8.0"
29
29
  end
Binary file
@@ -4,6 +4,8 @@
4
4
  #
5
5
  # Copyright (c) 2009 Clifford Heath. Read the LICENSE file.
6
6
  #
7
+ require 'activefacts/support'
8
+
7
9
  module ActiveFacts
8
10
  module Metamodel
9
11
  class Vocabulary
@@ -222,6 +224,10 @@ module ActiveFacts
222
224
  end
223
225
  end
224
226
 
227
+ def is_unary
228
+ all_role.size == 1
229
+ end
230
+
225
231
  def internal_presence_constraints
226
232
  all_role.map do |r|
227
233
  r.all_role_ref.map do |rr|
@@ -314,9 +320,89 @@ module ActiveFacts
314
320
  end
315
321
 
316
322
  def name
317
- role_name || object_type.name
323
+ role_name or
324
+ is_mirror_role && base_role.role_name or
325
+ fact_type.is_unary && unary_name or
326
+ String::Words.new(preferred_reference.role_name nil).capwords*' ' or
327
+ object_type.name
328
+ end
329
+
330
+ def unary_name
331
+ fact_type.preferred_reading.text.gsub(/\{[0-9]\}/,'').words.titlewords*' '
332
+ end
333
+
334
+ def is_link_role
335
+ fact_type.is_a?(LinkFactType)
336
+ end
337
+
338
+ def is_mirror_role
339
+ is_a?(MirrorRole)
340
+ end
341
+
342
+ def is_objectification_role
343
+ is_link_role && !is_mirror_role
318
344
  end
319
345
 
346
+ def counterpart
347
+ case fact_type.all_role.size
348
+ when 1
349
+ self
350
+ when 2
351
+ (fact_type.all_role.to_a-[self])[0]
352
+ else
353
+ raise "counterpart roles are undefined in n-ary fact types"
354
+ end
355
+ end
356
+
357
+ def role_type
358
+ raise "Incorrectly implemented"
359
+ if fact_type.is_a?(ActiveFacts::Metamodel::TypeInheritance)
360
+ return object_type == fact_type.supertype ? :supertype : :subtype
361
+ end
362
+
363
+ if fact_type.is_a?(ActiveFacts::Metamodel::LinkFactType)
364
+ # Prevent an unnecessary from-1 search:
365
+ from_1 = true
366
+ # Change the to_1 search to detect a one-to-one:
367
+ return fact_type.implying_role.role_type
368
+ elsif fact_type.all_role.size == 1
369
+ return :unary
370
+ end
371
+
372
+ # List the UCs on this fact type:
373
+ all_uniqueness_constraints =
374
+ fact_type.all_role.map do |fact_role|
375
+ fact_role.all_role_ref.map do |rr|
376
+ rr.role_sequence.all_presence_constraint.select do |pc|
377
+ pc.max_frequency == 1
378
+ end
379
+ end
380
+ end.flatten.uniq
381
+
382
+ # It's to-1 if a UC exists over exactly this role:
383
+ to_1 =
384
+ all_uniqueness_constraints.
385
+ detect do |c|
386
+ (rr = c.role_sequence.all_role_ref.single) and
387
+ rr.role == role
388
+ end
389
+
390
+ if from_1 || fact_type.entity_type
391
+ # This is a role in an objectified fact type
392
+ from_1 = true
393
+ else
394
+ # It's from-1 if a UC exists over roles of this FT that doesn't cover this role:
395
+ from_1 = all_uniqueness_constraints.detect{|uc|
396
+ !uc.role_sequence.all_role_ref.detect{|rr| rr.role == role || rr.role.fact_type != fact_type}
397
+ }
398
+ end
399
+
400
+ if from_1
401
+ return to_1 ? :one_one : :one_many
402
+ else
403
+ return to_1 ? :many_one : :many_many
404
+ end
405
+ end
320
406
  end
321
407
 
322
408
  class RoleRef
@@ -429,6 +515,16 @@ module ActiveFacts
429
515
  return other if supertypes_transitive.include(other)
430
516
  nil
431
517
  end
518
+
519
+ # Is this ValueType auto-assigned either at assert or on first save to the database?
520
+ def is_auto_assigned
521
+ type = self
522
+ while type
523
+ return true if type.name =~ /^Auto/ || type.transaction_phase
524
+ type = type.supertype
525
+ end
526
+ false
527
+ end
432
528
  end
433
529
 
434
530
  class EntityType
@@ -445,6 +541,10 @@ module ActiveFacts
445
541
  end
446
542
  end
447
543
 
544
+ def is_separate
545
+ super || !['absorbed', nil].include?(assimilation)
546
+ end
547
+
448
548
  def preferred_identifier
449
549
  return @preferred_identifier if @preferred_identifier
450
550
  if fact_type
@@ -600,8 +700,12 @@ module ActiveFacts
600
700
  end
601
701
  end
602
702
 
703
+ def preferred_identifier_roles
704
+ preferred_identifier.role_sequence.all_role_ref_in_order.map(&:role)
705
+ end
706
+
603
707
  def rank_in_preferred_identifier(role)
604
- preferred_identifier.role_sequence.all_role_ref_in_order.map(&:role).index(role)
708
+ preferred_identifier_roles.index(role)
605
709
  end
606
710
 
607
711
  # An array of all direct subtypes:
@@ -1139,7 +1243,7 @@ module ActiveFacts
1139
1243
  raise "A MirrorRole should not be asked for its uniqueness constraints"
1140
1244
  end
1141
1245
 
1142
- %w{all_ring_constraint_as_other_role all_ring_constraint all_role_value role_value_constraint mirror_role_as_base_role
1246
+ %w{all_ring_constraint_as_other_role all_ring_constraint all_role_value role_value_constraint
1143
1247
  }.each do |accessor|
1144
1248
  define_method(accessor.to_sym) do
1145
1249
  base_role.send(accessor.to_sym)
@@ -1347,32 +1451,60 @@ module ActiveFacts
1347
1451
  end
1348
1452
  end
1349
1453
 
1454
+ class Composition
1455
+ def all_composite_by_name
1456
+ all_composite.keys.sort_by do |key|
1457
+ @constellation.Composite[key].mapping.name
1458
+ end.map do |key|
1459
+ composite = @constellation.Composite[key]
1460
+ yield composite if block_given?
1461
+ composite
1462
+ end
1463
+ end
1464
+ end
1465
+
1350
1466
  class Mapping
1351
1467
  def inspect
1352
- "#{self.class.basename} (#{rank_kind}) of #{object_type.name}"
1468
+ "#{self.class.basename} (#{rank_kind})#{parent ? " in #{parent.name}" :''} of #{name && name != '' ? name : '<anonymous>'}"
1353
1469
  end
1354
1470
 
1355
1471
  def show_trace
1356
- trace :composition, "#{ordinal ? "#{ordinal}: " : ''}#{inspect} #{name ? " (as #{name})" : ''}" do
1472
+ trace :composition, "#{ordinal ? "#{ordinal}: " : ''}#{inspect}" do
1357
1473
  yield if block_given?
1358
1474
  all_member.sort_by{|member| [member.ordinal, member.name]}.each do |member|
1359
1475
  member.show_trace
1360
1476
  end
1361
1477
  end
1362
1478
  end
1479
+
1480
+ # Recompute a contiguous member ranking fron zero, based on current membership:
1481
+ def re_rank
1482
+ next_rank = 0
1483
+ all_member.
1484
+ sort_by(&:rank_key).
1485
+ each do |member|
1486
+ member.ordinal = next_rank
1487
+ next_rank += 1
1488
+ end
1489
+ end
1490
+
1363
1491
  end
1364
1492
 
1365
1493
  class Nesting
1366
1494
  def show_trace
1367
1495
  # The index role has a counterpart played by the parent object in the enclosing Absorption
1368
1496
  reading = index_role.fact_type.default_reading
1369
- trace :composition, "#{ordinal}: Nesting under #{index_role.object_type.name}#{key_name ? " (as #{key_name})" : ''} in #{reading.inspect}}"
1497
+ trace :composition, "#{ordinal}: Nesting under #{index_role.object_type.name}#{key_name ? " (as #{key_name.inspect})" : ''} in #{reading.inspect}}"
1370
1498
  end
1371
1499
  end
1372
1500
 
1373
1501
  class Absorption
1502
+ def inspect_reading
1503
+ parent_role.fact_type.reading_preferably_starting_with_role(parent_role).expand.inspect
1504
+ end
1505
+
1374
1506
  def inspect
1375
- "#{super} in #{parent_role.fact_type.reading_preferably_starting_with_role(parent_role).expand.inspect}"
1507
+ "#{super} in #{inspect_reading}#{absorption ? ' (forward)' : (reverse_absorption ? ' (reverse)' : '')}"
1376
1508
  end
1377
1509
 
1378
1510
  def show_trace
@@ -1396,6 +1528,71 @@ module ActiveFacts
1396
1528
  def is_subtype_absorption
1397
1529
  is_type_inheritance && parent_role.fact_type.supertype == object_type
1398
1530
  end
1531
+
1532
+ def is_preferred_direction
1533
+ return child_role.is_mirror_role if child_role.is_mirror_role != parent_role.is_mirror_role
1534
+
1535
+ # Prefer to absorb the one into the many:
1536
+ p_un = parent_role.is_unique
1537
+ c_un = child_role.is_unique
1538
+ return p_un if p_un != c_un
1539
+
1540
+ # Prefer to absorb a subtype into the supertype (opposite if separate or partitioned)
1541
+ if (ti = child_role.fact_type).is_a?(TypeInheritance)
1542
+ is_subtype = child_role == ti.subtype_role # Supertype absorbing subtype
1543
+ subtype = ti.subtype_role.object_type # Subtype doesn't want to be absorbed?
1544
+ # REVISIT: We need fewer ways to say this:
1545
+ child_separate = ["separate", "partitioned"].include?(ti.assimilation) ||
1546
+ subtype.is_independent ||
1547
+ subtype.concept.all_concept_annotation.detect{|ca| ca.mapping_annotation == 'separate'}
1548
+ return !is_subtype != !child_separate
1549
+ end
1550
+
1551
+ if p_un && c_un
1552
+ # Prefer to absorb a ValueType into an EntityType rather than the other way around:
1553
+ pvt = parent_role.object_type.is_a?(ActiveFacts::Metamodel::ValueType)
1554
+ cvt = child_role.object_type.is_a?(ActiveFacts::Metamodel::ValueType)
1555
+ return cvt if pvt != cvt
1556
+
1557
+ if !pvt
1558
+ # REVISIT: Force the decision if one EntityType identifies another
1559
+ end
1560
+
1561
+ # Primary absorption absorbs the object playing the mandatory role into the non-mandatory:
1562
+ return child_role.is_mandatory if !parent_role.is_mandatory != !child_role.is_mandatory
1563
+ end
1564
+
1565
+ if parent_role.object_type.is_a?(ActiveFacts::Metamodel::EntityType) &&
1566
+ child_role.object_type.is_a?(ActiveFacts::Metamodel::EntityType)
1567
+ # Prefer to absorb an identifying element into the EntityType it identifies
1568
+ return true if parent_role.object_type.preferred_identifier.
1569
+ role_sequence.all_role_ref.map(&:role).detect{|r|
1570
+ r.object_type == child_role.object_type
1571
+ }
1572
+ return false if child_role.object_type.preferred_identifier.
1573
+ role_sequence.all_role_ref.map(&:role).detect{|r|
1574
+ r.object_type == parent_role.object_type
1575
+ }
1576
+ end
1577
+
1578
+ # For stability, absorb a later-named role into an earlier-named one:
1579
+ return parent_role.name < child_role.name
1580
+ end
1581
+
1582
+ def flip!
1583
+ if (other = absorption)
1584
+ # We point at them - make them point at us instead
1585
+ self.absorption = nil
1586
+ self.reverse_absorption = other
1587
+ elsif (other = reverse_absorption)
1588
+ # They point at us - make us point at them instead
1589
+ self.reverse_absorption = nil
1590
+ self.absorption = other
1591
+ else
1592
+ raise "Absorption cannot be flipped as it has no reverse"
1593
+ end
1594
+ end
1595
+
1399
1596
  end
1400
1597
 
1401
1598
  class Indicator
@@ -1404,17 +1601,17 @@ module ActiveFacts
1404
1601
  end
1405
1602
 
1406
1603
  def show_trace
1407
- trace :composition, "#{ordinal ? "#{ordinal}: " : ''}#{inspect} #{name ? " (as #{name})" : ''}"
1604
+ trace :composition, "#{ordinal ? "#{ordinal}: " : ''}#{inspect} #{name ? "(as #{name.inspect})" : ''}"
1408
1605
  end
1409
1606
  end
1410
1607
 
1411
1608
  class Discriminator
1412
1609
  def inspect
1413
- "#{self.class.basename} #{role.fact_type.default_reading.inspect}"
1610
+ "#{self.class.basename} between #{all_discriminated_role.map{|dr|dr.fact_type.default_reading.inspect}*', '}"
1414
1611
  end
1415
1612
 
1416
1613
  def show_trace
1417
- trace :composition, "#{ordinal ? "#{ordinal}: " : ''}#{inspect} #{name ? " (as #{name})" : ''}"
1614
+ trace :composition, "#{ordinal ? "#{ordinal}: " : ''}#{inspect} #{name ? " (as #{name.inspect})" : ''}"
1418
1615
  end
1419
1616
  end
1420
1617
 
@@ -1424,7 +1621,7 @@ module ActiveFacts
1424
1621
  end
1425
1622
 
1426
1623
  def show_trace
1427
- trace :composition, "#{ordinal}: #{inspect} #{name ? " (as #{name})" : ''}"
1624
+ trace :composition, "#{ordinal}: #{inspect}#{name ? " (as #{name.inspect})" : ''}"
1428
1625
  end
1429
1626
  end
1430
1627
 
@@ -1445,72 +1642,75 @@ module ActiveFacts
1445
1642
  RANK_SCOPING = 11 # Scoping in alphabetical order
1446
1643
 
1447
1644
  def rank_key
1448
- parent_et = parent &&
1449
- parent.object_type.is_a?(EntityType) &&
1450
- parent.object_type
1451
-
1452
- case self
1453
- when Indicator
1454
- if parent_et && (position = parent_et.rank_in_preferred_identifier(role))
1455
- [RANK_IDENT, position] # An identifying unary
1456
- else
1457
- [RANK_INDICATOR, name || role.role_name || role.fact_type.default_reading] # A non-identifying unary
1458
- end
1459
-
1460
- when Discriminator
1461
- [RANK_DISCRIMINATOR, name || object_type.name]
1462
-
1463
- when ValueField
1464
- [RANK_IDENT]
1465
-
1466
- when Injection
1467
- [RANK_INJECTION, name || object_type.name] # REVISIT: A different sub-key for ranking may be needed
1468
-
1469
- when Absorption
1470
- if is_type_inheritance
1471
- # We are traversing a type inheritance fact type. Is this object_type the subtype or supertype?
1472
- if is_supertype_absorption
1473
- # What's the rank of this supertype?
1474
- tis = parent_role.object_type.all_type_inheritance_as_subtype.sort_by{|ti| ti.provides_identification ? '' : ti.supertype.name }
1475
- [RANK_SUPER, child_role.fact_type.provides_identification ? 0 : 1+tis.index(parent_role.fact_type)]
1645
+ @rank_key ||=
1646
+ case self
1647
+ when Indicator
1648
+ if (p = parent_entity_type) and (position = p.rank_in_preferred_identifier(role.base_role))
1649
+ [RANK_IDENT, position] # An identifying unary
1476
1650
  else
1477
- # What's the rank of this subtype?
1478
- tis = parent_role.object_type.all_type_inheritance_as_supertype.sort_by{|ti| ti.subtype.name }
1479
- [RANK_SUBTYPE, tis.index(parent_role.fact_type)]
1651
+ [RANK_INDICATOR, name || role.name] # A non-identifying unary
1480
1652
  end
1481
- elsif parent_et && (position = parent_et.rank_in_preferred_identifier(child_role))
1482
- [RANK_IDENT, position]
1483
- else
1484
- if parent_role.is_unique
1485
- [parent_role.is_mandatory ? RANK_MANDATORY : RANK_NON_MANDATORY, name || child_role.role_name || object_type.name]
1653
+
1654
+ when Discriminator
1655
+ [RANK_DISCRIMINATOR, name || child_role.name]
1656
+
1657
+ when ValueField
1658
+ [RANK_IDENT]
1659
+
1660
+ when Injection
1661
+ [RANK_INJECTION, name] # REVISIT: Injection not fully elaborated. A different sub-key for ranking may be needed
1662
+
1663
+ when Absorption
1664
+ if is_type_inheritance
1665
+ # We are traversing a type inheritance fact type. Is this object_type the subtype or supertype?
1666
+ if is_supertype_absorption
1667
+ # What's the rank of this supertype?
1668
+ tis = parent_role.object_type.all_type_inheritance_as_subtype.sort_by{|ti| ti.provides_identification ? '' : ti.supertype.name }
1669
+ [RANK_SUPER, child_role.fact_type.provides_identification ? 0 : 1+tis.index(parent_role.fact_type)]
1670
+ else
1671
+ # What's the rank of this subtype?
1672
+ tis = parent_role.object_type.all_type_inheritance_as_supertype.sort_by{|ti| ti.subtype.name }
1673
+ [RANK_SUBTYPE, tis.index(parent_role.fact_type)]
1674
+ end
1675
+ elsif (p = parent_entity_type) and (position = p.rank_in_preferred_identifier(child_role.base_role))
1676
+ [RANK_IDENT, position]
1486
1677
  else
1487
- [RANK_MULTIPLE, name || child_role.role_name || object_type.name]
1678
+ if parent_role.is_unique
1679
+ [parent_role.is_mandatory ? RANK_MANDATORY : RANK_NON_MANDATORY, name || child_role.name]
1680
+ else
1681
+ [RANK_MULTIPLE, name || child_role.name, parent_role.name]
1682
+ end
1488
1683
  end
1489
- end
1490
1684
 
1491
- when Scoping
1492
- [RANK_SCOPING, name || object_type.name]
1685
+ when Scoping
1686
+ [RANK_SCOPING, name || object_type.name]
1493
1687
 
1494
- else
1495
- raise "unexpected #{self.class.basename} in Component#rank_key"
1496
- end
1688
+ else
1689
+ raise "unexpected #{self.class.basename} in Component#rank_key"
1690
+ end
1691
+ end
1692
+
1693
+ def parent_entity_type
1694
+ parent &&
1695
+ parent.object_type.is_a?(EntityType) &&
1696
+ parent.object_type
1497
1697
  end
1498
1698
 
1499
1699
  def rank_kind
1500
- return "composite" if self.class == Mapping
1700
+ return "top" unless parent # E.g. a Mapping that is a Composite
1501
1701
  case rank_key[0]
1502
- when RANK_SUPER; "supertype"
1503
- when RANK_IDENT; "existential"
1504
- when RANK_VALUE; "self-value"
1505
- when RANK_INJECTION; "injection"
1506
- when RANK_DISCRIMINATOR; "discriminator"
1507
- when RANK_FOREIGN; "foreignkey"
1508
- when RANK_INDICATOR; "indicator"
1509
- when RANK_MANDATORY; "mandatory"
1510
- when RANK_NON_MANDATORY; "optional"
1511
- when RANK_MULTIPLE; "multiple"
1512
- when RANK_SUBTYPE; "subtype"
1513
- when RANK_SCOPING; "scoping"
1702
+ when RANK_SUPER; "supertype"
1703
+ when RANK_IDENT; "existential"
1704
+ when RANK_VALUE; "self-value"
1705
+ when RANK_INJECTION; "injection"
1706
+ when RANK_DISCRIMINATOR;"discriminator"
1707
+ when RANK_FOREIGN; "foreignkey"
1708
+ when RANK_INDICATOR; "indicator"
1709
+ when RANK_MANDATORY; "mandatory"
1710
+ when RANK_NON_MANDATORY;"optional"
1711
+ when RANK_MULTIPLE; "multiple"
1712
+ when RANK_SUBTYPE; "subtype"
1713
+ when RANK_SCOPING; "scoping"
1514
1714
  end
1515
1715
  end
1516
1716
 
@@ -1519,7 +1719,8 @@ module ActiveFacts
1519
1719
  end
1520
1720
 
1521
1721
  def show_trace
1522
- trace :composition, "#{ordinal ? "#{ordinal}: " : ''}#{inspect}#{name ? " (as #{name})" : ''}"
1722
+ raise "Implemented in subclasses"
1723
+ # trace :composition, "#{ordinal ? "#{ordinal}: " : ''}#{inspect}#{name ? " (as #{name.inspect})" : ''}"
1523
1724
  end
1524
1725
  end
1525
1726
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveFacts
2
2
  module Metamodel
3
- VERSION = "1.8.3"
3
+ VERSION = "1.9.0"
4
4
  end
5
5
  end
@@ -1,3 +1,4 @@
1
1
  require 'activefacts/metamodel/version'
2
+ require_relative 'support'
2
3
  require_relative 'metamodel/metamodel'
3
4
  require_relative 'metamodel/extensions'
data/orm/Metamodel.orm CHANGED
@@ -14365,15 +14365,15 @@
14365
14365
  <orm:Role id="_55655C95-CEBB-4F43-A278-5C6396BBD04A" ref="_BE744A85-0CE7-4C53-A1D9-1C63B9A5E19D" />
14366
14366
  <orm:Role id="_F4C84715-891B-4420-BD45-E7CDC2E7C5E9" ref="_ADDCA92F-8C0E-4290-A293-292FECBCED9D" />
14367
14367
  <orm:JoinRule>
14368
- <orm:JoinPath id="_E5699ACC-C908-4EA9-97FA-DDC84C413773" IsAutomatic="true">
14368
+ <orm:JoinPath id="_E5699ACC-C908-4EA9-97FA-DDC84C413773">
14369
14369
  <orm:PathComponents>
14370
14370
  <orm:RolePath id="_23C7A5CE-D3D6-43CB-BD7D-513DA6241068">
14371
- <orm:RootObjectType id="_52FACDE1-D9CD-49AF-BB0B-E29DD4803659" ref="_C4DE2415-F2F5-42AD-906B-50039DAE1DDF" />
14371
+ <orm:RootObjectType id="_52FACDE1-D9CD-49AF-BB0B-E29DD4803659" ref="_43DF94C6-2C2C-4CC8-8A40-D69D0F43598B" />
14372
14372
  <orm:PathedRoles>
14373
- <orm:PathedRole id="_EF910EC3-345E-4BC2-BFEB-6BCB3F0AAE12" ref="_BE744A85-0CE7-4C53-A1D9-1C63B9A5E19D" Purpose="PostInnerJoin" />
14374
- <orm:PathedRole id="_E33400C7-8355-4E99-BFE4-7F8AB4F53AB4" ref="_30290A84-BB41-49A9-9FF6-DB3C7E73CA3F" Purpose="SameFactType" />
14375
- <orm:PathedRole id="_43FF170C-1CA8-4D56-AA72-E531142469B4" ref="_8BD226F9-F7EE-4CFB-881B-0C4EF4686D2F" Purpose="PostInnerJoin" />
14376
- <orm:PathedRole id="_D0128322-E900-4294-82BF-74FD2337AC67" ref="_ADDCA92F-8C0E-4290-A293-292FECBCED9D" Purpose="SameFactType" />
14373
+ <orm:PathedRole id="_38DCA761-CC74-4DD3-B67F-30E81BE83DFE" ref="_BE744A85-0CE7-4C53-A1D9-1C63B9A5E19D" Purpose="PostInnerJoin" />
14374
+ <orm:PathedRole id="_6DB61B15-BAD0-40A6-9EAB-DA618A709B2E" ref="_30290A84-BB41-49A9-9FF6-DB3C7E73CA3F" Purpose="SameFactType" />
14375
+ <orm:PathedRole id="_6F827ACD-1F83-41FF-9F41-7405538CE940" ref="_8BD226F9-F7EE-4CFB-881B-0C4EF4686D2F" Purpose="PostInnerJoin" />
14376
+ <orm:PathedRole id="_34171070-C436-4F38-88B5-4936120D0050" ref="_ADDCA92F-8C0E-4290-A293-292FECBCED9D" Purpose="SameFactType" />
14377
14377
  </orm:PathedRoles>
14378
14378
  </orm:RolePath>
14379
14379
  </orm:PathComponents>
@@ -14384,9 +14384,9 @@
14384
14384
  <orm:PathRoot ref="_52FACDE1-D9CD-49AF-BB0B-E29DD4803659" />
14385
14385
  </orm:ProjectedFrom>
14386
14386
  </orm:ConstraintRoleProjection>
14387
- <orm:ConstraintRoleProjection id="_BC6E811F-B427-47DD-84ED-AC909E9251D8" ref="_F4C84715-891B-4420-BD45-E7CDC2E7C5E9">
14387
+ <orm:ConstraintRoleProjection id="_3920CDD5-B3EE-4B5C-B489-DAB1098E000A" ref="_F4C84715-891B-4420-BD45-E7CDC2E7C5E9">
14388
14388
  <orm:ProjectedFrom>
14389
- <orm:PathedRole ref="_D0128322-E900-4294-82BF-74FD2337AC67" />
14389
+ <orm:PathedRole ref="_34171070-C436-4F38-88B5-4936120D0050" />
14390
14390
  </orm:ProjectedFrom>
14391
14391
  </orm:ConstraintRoleProjection>
14392
14392
  </orm:JoinPathProjection>
@@ -14618,16 +14618,9 @@ culture and locale aspects.</orm:Text>
14618
14618
  <orm:ModelNote id="_B9AF43E9-C8B6-4F27-83C7-336BDD97C112">
14619
14619
  <orm:Text>Legacy Facets</orm:Text>
14620
14620
  </orm:ModelNote>
14621
- <orm:ModelNote id="_E9030C26-B3A3-4A37-882A-276C5A4DFC02">
14622
- <orm:Text>For each Component and Fact Type,
14623
- that Component is some Absorption that traverses to some child-Role1 that belongs to that Fact Type
14624
- if and only if
14625
- some Mapping1 contains that Component
14626
- and represents some Object Type that plays some Role2 that belongs to that Fact Type.</orm:Text>
14627
- </orm:ModelNote>
14628
14621
  <orm:ModelNote id="_39D1306F-6C1B-4FEC-ADF8-3959AEC77C2A">
14629
- <orm:Text>If some Absorption traverses to some child Role that is played by some Object Type
14630
- then some Mapping that is that Absorption represents that Object Type.</orm:Text>
14622
+ <orm:Text>If for some Mapping, that Mapping is some Absorption that traverses to some child Role
14623
+ that is played by some Object Type then that Mapping represents that Object Type.</orm:Text>
14631
14624
  <orm:ReferencedBy>
14632
14625
  <orm:SetComparisonConstraint ref="_07F24ACF-D8A5-40A0-92FC-BFC087225CB8" />
14633
14626
  </orm:ReferencedBy>
@@ -14646,30 +14639,31 @@ but merely passes down its parent's Object Type</orm:Text>
14646
14639
  </orm:ReferencedBy>
14647
14640
  </orm:ModelNote>
14648
14641
  <orm:ModelNote id="_E6F06CF4-44F6-42A8-BAA3-DC7088FBC488">
14649
- <orm:Text>An Injection is an object type added in the composition,
14650
- e.g. a surrogate key or audit field</orm:Text>
14642
+ <orm:Text>An Injection is an object type added in the composition, e.g.
14643
+ a surrogate key or audit field like a timestamp or data source name</orm:Text>
14651
14644
  <orm:ReferencedBy>
14652
14645
  <orm:ObjectType ref="_32350DBF-3941-4250-B316-1E369A866F3E" />
14653
14646
  </orm:ReferencedBy>
14654
14647
  </orm:ModelNote>
14655
14648
  <orm:ModelNote id="_B4F02530-8044-428F-A881-98A56E623EA1">
14656
- <orm:Text>A Discriminator is a value type that indicates
14657
- which of several alternate roles is played.</orm:Text>
14649
+ <orm:Text>A Discriminator is a value type that indicates which of several
14650
+ alternate roles is played. It replaces more than one Indicator</orm:Text>
14658
14651
  <orm:ReferencedBy>
14659
14652
  <orm:ObjectType ref="_B37F1E95-6872-4F0B-9A83-412C935929E7" />
14660
14653
  </orm:ReferencedBy>
14661
14654
  </orm:ModelNote>
14662
14655
  <orm:ModelNote id="_AE143400-FB85-429A-9C4C-09C081A2C86A">
14663
14656
  <orm:Text>An absorption always traverses a binary Fact Type
14664
- which is always either one-to-one or one-to-many</orm:Text>
14657
+ which is always either one-to-one or one-to-many.
14658
+ In an objectified Fact Type, LinkFactTypes are often traversed.</orm:Text>
14665
14659
  <orm:ReferencedBy>
14666
14660
  <orm:FactType ref="_6DB13E64-50B7-4C94-9594-D3EB5518413A" />
14667
14661
  <orm:FactType ref="_6096F661-5482-40E6-97AD-A4D3EBDF3187" />
14668
14662
  </orm:ReferencedBy>
14669
14663
  </orm:ModelNote>
14670
14664
  <orm:ModelNote id="_2E8601DA-1E1A-4EE0-9FD8-90A6434BAFF3">
14671
- <orm:Text>If some Absorption traverses from some parent Role that is played by some Object Type
14672
- then that Absorption is some Component that belongs to some parent Mapping that represents that Object Type.</orm:Text>
14665
+ <orm:Text>If some Absorption traverses from some parent Role that is played by some Object Type then
14666
+ that Absorption is some Component that belongs to some parent Mapping that represents that Object Type.</orm:Text>
14673
14667
  <orm:ReferencedBy>
14674
14668
  <orm:SetComparisonConstraint ref="_CC4F9EB2-1E67-4EDB-A6C1-50D4D144CF0B" />
14675
14669
  </orm:ReferencedBy>
@@ -14680,6 +14674,27 @@ then that Absorption is some Component that belongs to some parent Mapping that
14680
14674
  <orm:ObjectType ref="_8081637F-F1BE-4B58-BF6C-0359BFC7CD53" />
14681
14675
  </orm:ReferencedBy>
14682
14676
  </orm:ModelNote>
14677
+ <orm:ModelNote id="_E571EE2C-4AC2-477E-8BD1-6457D50EA7B6">
14678
+ <orm:Text>A Composite is e.g. a
14679
+ relational table or an
14680
+ XSD ComplexType</orm:Text>
14681
+ <orm:ReferencedBy>
14682
+ <orm:ObjectType ref="_EBB0CD65-AA67-4C13-AA05-777E0A5F5C2E" />
14683
+ </orm:ReferencedBy>
14684
+ </orm:ModelNote>
14685
+ <orm:ModelNote id="_42CD3236-A5DC-4E3A-84A7-DA06AD6FBA74">
14686
+ <orm:Text>Component Ordinal is provided to preserve a preferred ordering of members</orm:Text>
14687
+ <orm:ReferencedBy>
14688
+ <orm:FactType ref="_83DC2475-AC45-4AAE-9F06-A94E492D7C23" />
14689
+ </orm:ReferencedBy>
14690
+ </orm:ModelNote>
14691
+ <orm:ModelNote id="_519F86D3-A4F4-41CE-9F4B-F1A476C22426">
14692
+ <orm:Text>Nesting supports specific kinds of denormalised structures such as SQL repeated attributes, Set (no nesting role),
14693
+ Array (one small integer key role) and HSTORE (one or more key roles) composite data types.</orm:Text>
14694
+ <orm:ReferencedBy>
14695
+ <orm:ObjectType ref="_583079A2-FCCF-4B48-8E67-5193D9A5F427" />
14696
+ </orm:ReferencedBy>
14697
+ </orm:ModelNote>
14683
14698
  </orm:ModelNotes>
14684
14699
  <orm:ModelErrors>
14685
14700
  <orm:ExclusionContradictsMandatoryError id="_82777725-A6B9-4391-A823-CE723F796E2F" Name="Constraints 'ExclusiveOrConstraint1' and 'SimpleMandatoryConstraint113' in model 'Metamodel' are in a state of contradiction.">
@@ -17230,15 +17245,15 @@ then that Absorption is some Component that belongs to some parent Mapping that
17230
17245
  </ormDiagram:ORMDiagram>
17231
17246
  <ormDiagram:ORMDiagram id="_099D32BA-5B3C-4FD4-BFCE-C5B30ECB6683" IsCompleteView="true" Name="Composition" BaseFontName="Tahoma" BaseFontSize="0.0972222238779068">
17232
17247
  <ormDiagram:Shapes>
17233
- <ormDiagram:ObjectTypeShape id="_F4DBE782-737C-4D59-B873-32077D3DF06A" IsExpanded="true" AbsoluteBounds="0.519726776168214, 2.2005533499868521, 0.78098135709762573, 0.35900605320930479">
17248
+ <ormDiagram:ObjectTypeShape id="_F4DBE782-737C-4D59-B873-32077D3DF06A" IsExpanded="true" AbsoluteBounds="0.59974532341957087, 2.4422922389393196, 0.78098135709762573, 0.35900605320930479">
17234
17249
  <ormDiagram:Subject ref="_955A3766-115E-47CE-88B8-AC37518E989F" />
17235
17250
  </ormDiagram:ObjectTypeShape>
17236
- <ormDiagram:ObjectTypeShape id="_D78BFF97-36FB-46BC-9782-7355CC89D8FB" IsExpanded="true" AbsoluteBounds="0.56807681231247065, 3.5956256969628884, 0.68428128480911254, 0.22950302660465241">
17251
+ <ormDiagram:ObjectTypeShape id="_D78BFF97-36FB-46BC-9782-7355CC89D8FB" IsExpanded="true" AbsoluteBounds="0.64809535956382758, 3.8373645859153558, 0.68428128480911254, 0.22950302660465241">
17237
17252
  <ormDiagram:Subject ref="_EBB0CD65-AA67-4C13-AA05-777E0A5F5C2E" />
17238
17253
  </ormDiagram:ObjectTypeShape>
17239
- <ormDiagram:FactTypeShape id="_0075F5BD-36CF-41C7-9AB3-A05C55E7E38A" IsExpanded="true" AbsoluteBounds="0.71827301022084233, 2.9059714782711095, 0.38388888899236917, 0.24388888899236916">
17254
+ <ormDiagram:FactTypeShape id="_0075F5BD-36CF-41C7-9AB3-A05C55E7E38A" IsExpanded="true" AbsoluteBounds="0.79829155747219915, 3.1477103672235769, 0.38388888899236917, 0.24388888899236916">
17240
17255
  <ormDiagram:RelativeShapes>
17241
- <ormDiagram:ReadingShape id="_0E69AAD0-44C2-456C-96BB-6E373D6339E5" IsExpanded="true" AbsoluteBounds="0.36732973578356476, 3.2146118805658048, 0.95934152603149414, 0.12950302660465241">
17256
+ <ormDiagram:ReadingShape id="_0E69AAD0-44C2-456C-96BB-6E373D6339E5" IsExpanded="true" AbsoluteBounds="0.44734828303492158, 3.4563507695182722, 0.95934152603149414, 0.12950302660465241">
17242
17257
  <ormDiagram:Subject ref="_10F411DA-AE5D-4079-8467-BBA48668ACBC" />
17243
17258
  </ormDiagram:ReadingShape>
17244
17259
  </ormDiagram:RelativeShapes>
@@ -17248,12 +17263,12 @@ then that Absorption is some Component that belongs to some parent Mapping that
17248
17263
  <ormDiagram:Role ref="_6EF02438-FF3C-40D3-AAFD-743FBD48424E" />
17249
17264
  </ormDiagram:RoleDisplayOrder>
17250
17265
  </ormDiagram:FactTypeShape>
17251
- <ormDiagram:ObjectTypeShape id="_57F5AF2F-B4B4-432C-86C5-525814CF061F" IsExpanded="true" AbsoluteBounds="4.7720779980324561, 3.5956256969628884, 0.75373249769210815, 0.22950302660465241">
17266
+ <ormDiagram:ObjectTypeShape id="_57F5AF2F-B4B4-432C-86C5-525814CF061F" IsExpanded="true" AbsoluteBounds="4.9108185367691926, 3.8373645859153558, 0.75373249769210815, 0.22950302660465241">
17252
17267
  <ormDiagram:Subject ref="_6E038746-2591-4605-A6FE-AE888E8B2EB1" />
17253
17268
  </ormDiagram:ObjectTypeShape>
17254
- <ormDiagram:FactTypeShape id="_62619675-F31E-47F2-B81E-A8597972F6A7" IsExpanded="true" AbsoluteBounds="3.8228892673780166, 3.5534327657690294, 0.38388888899236917, 0.24388888899236916">
17269
+ <ormDiagram:FactTypeShape id="_62619675-F31E-47F2-B81E-A8597972F6A7" IsExpanded="true" AbsoluteBounds="3.8703505548759387, 3.7951716547214969, 0.38388888899236917, 0.24388888899236916">
17255
17270
  <ormDiagram:RelativeShapes>
17256
- <ormDiagram:ReadingShape id="_3C5F5917-402F-4A82-A589-0E783FF1F8BC" IsExpanded="true" AbsoluteBounds="3.8228892673780166, 3.8620731680637252, 0.49668148159980774, 0.12950302660465241">
17271
+ <ormDiagram:ReadingShape id="_3C5F5917-402F-4A82-A589-0E783FF1F8BC" IsExpanded="true" AbsoluteBounds="3.8703505548759387, 4.1038120570161922, 0.49668148159980774, 0.12950302660465241">
17257
17272
  <ormDiagram:Subject ref="_4C4ABB13-9C81-4BA3-B8B6-D48BE65E7F29" />
17258
17273
  </ormDiagram:ReadingShape>
17259
17274
  </ormDiagram:RelativeShapes>
@@ -17263,18 +17278,18 @@ then that Absorption is some Component that belongs to some parent Mapping that
17263
17278
  <ormDiagram:Role ref="_BE2BC553-EB41-48E4-BDE1-E5C6DEE057FC" />
17264
17279
  </ormDiagram:RoleDisplayOrder>
17265
17280
  </ormDiagram:FactTypeShape>
17266
- <ormDiagram:ObjectTypeShape id="_D876A3D9-9E30-4981-A80C-1803908D0405" IsExpanded="true" AbsoluteBounds="2.5762332192245547, 3.5956256969628884, 0.58525517106056224, 0.22950302660465241">
17281
+ <ormDiagram:ObjectTypeShape id="_D876A3D9-9E30-4981-A80C-1803908D0405" IsExpanded="true" AbsoluteBounds="2.6236945067224768, 3.8373645859153558, 0.58525517106056224, 0.22950302660465241">
17267
17282
  <ormDiagram:Subject ref="_43DF94C6-2C2C-4CC8-8A40-D69D0F43598B" />
17268
17283
  </ormDiagram:ObjectTypeShape>
17269
- <ormDiagram:ObjectTypeShape id="_6590BEC7-688C-431A-8280-677856D238E2" IsExpanded="true" AbsoluteBounds="2.5179378649774615, 4.8048441353486524, 0.70184587955474853, 0.22950302660465241">
17284
+ <ormDiagram:ObjectTypeShape id="_6590BEC7-688C-431A-8280-677856D238E2" IsExpanded="true" AbsoluteBounds="2.5653991524753836, 5.0465830243011176, 0.70184587955474853, 0.22950302660465241">
17270
17285
  <ormDiagram:Subject ref="_C4DE2415-F2F5-42AD-906B-50039DAE1DDF" />
17271
17286
  </ormDiagram:ObjectTypeShape>
17272
- <ormDiagram:ObjectTypeShape id="_13EED334-E840-46B3-BEC1-AD2A2BF5B05D" IsExpanded="true" AbsoluteBounds="5.1295059648840748, 4.8048441353486524, 0.37661665201187133, 0.22950302660465241">
17287
+ <ormDiagram:ObjectTypeShape id="_13EED334-E840-46B3-BEC1-AD2A2BF5B05D" IsExpanded="true" AbsoluteBounds="5.2622203889870214, 5.0465830243011176, 0.37661665201187133, 0.22950302660465241">
17273
17288
  <ormDiagram:Subject ref="_ABCDC9B2-822F-4E84-83D4-3732C029BB1B" />
17274
17289
  </ormDiagram:ObjectTypeShape>
17275
- <ormDiagram:FactTypeShape id="_299E11E0-1873-49F0-A3A1-F90AF6B8D3D2" IsExpanded="true" AbsoluteBounds="5.0426073699959293, 4.0273357792342335, 0.38388888899236917, 0.24388888899236916">
17290
+ <ormDiagram:FactTypeShape id="_299E11E0-1873-49F0-A3A1-F90AF6B8D3D2" IsExpanded="true" AbsoluteBounds="5.1753217940988758, 4.2690746681866987, 0.38388888899236917, 0.24388888899236916">
17276
17291
  <ormDiagram:RelativeShapes>
17277
- <ormDiagram:ReadingShape id="_B1BFD149-0F63-49CF-8331-66F49329F47C" IsExpanded="true" AbsoluteBounds="5.0426073699959293, 4.3359761815289311, 0.88267457485198975, 0.12950302660465241">
17292
+ <ormDiagram:ReadingShape id="_B1BFD149-0F63-49CF-8331-66F49329F47C" IsExpanded="true" AbsoluteBounds="5.1753217940988758, 4.5777150704813963, 0.88267457485198975, 0.12950302660465241">
17278
17293
  <ormDiagram:Subject ref="_D8E6C490-1154-4869-94F5-68E99D5CEADB" />
17279
17294
  </ormDiagram:ReadingShape>
17280
17295
  </ormDiagram:RelativeShapes>
@@ -17284,15 +17299,15 @@ then that Absorption is some Component that belongs to some parent Mapping that
17284
17299
  <ormDiagram:Role ref="_8BD226F9-F7EE-4CFB-881B-0C4EF4686D2F" />
17285
17300
  </ormDiagram:RoleDisplayOrder>
17286
17301
  </ormDiagram:FactTypeShape>
17287
- <ormDiagram:FactTypeShape id="_88AA4BF3-8549-4240-9E58-605BAA2603A4" IsExpanded="true" AbsoluteBounds="2.0586957105545567, 2.22311193209532, 0.38388888899236917, 0.24388888899236916">
17302
+ <ormDiagram:FactTypeShape id="_88AA4BF3-8549-4240-9E58-605BAA2603A4" IsExpanded="true" AbsoluteBounds="2.1061569980524788, 2.4648508210477873, 0.38388888899236917, 0.24388888899236916">
17288
17303
  <ormDiagram:RelativeShapes>
17289
- <ormDiagram:ReadingShape id="_2B3B04BB-6DBE-4732-9FCF-16382C3B2219" IsExpanded="true" AbsoluteBounds="1.6065485228233487, 2.5701556506856571, 1.3130062818527222, 0.12950302660465241">
17304
+ <ormDiagram:ReadingShape id="_2B3B04BB-6DBE-4732-9FCF-16382C3B2219" IsExpanded="true" AbsoluteBounds="1.6540098103212708, 2.8118945396381245, 1.3130062818527222, 0.12950302660465241">
17290
17305
  <ormDiagram:Subject ref="_AF22C1FF-1361-4556-B2C4-D6EF9FFC7B7C" />
17291
17306
  </ormDiagram:ReadingShape>
17292
- <ormDiagram:RoleNameShape id="_997DBF88-C467-4FB8-A321-8906598A6D5C" IsExpanded="true" AbsoluteBounds="2.0086957105545569, 1.8731119320953198, 0.46720150113105774, 0.12950302660465241">
17307
+ <ormDiagram:RoleNameShape id="_997DBF88-C467-4FB8-A321-8906598A6D5C" IsExpanded="true" AbsoluteBounds="2.056156998052479, 2.1148508210477872, 0.46720150113105774, 0.12950302660465241">
17293
17308
  <ormDiagram:Subject ref="_7E7A5CB5-5D07-4682-B0C5-F78ED445EDE1" />
17294
17309
  </ormDiagram:RoleNameShape>
17295
- <ormDiagram:RoleNameShape id="_EC18FD78-FA74-4A4D-8F81-6282557BD7AD" IsExpanded="true" AbsoluteBounds="2.0086957105545569, 1.8731119320953198, 0.05, 0.05">
17310
+ <ormDiagram:RoleNameShape id="_EC18FD78-FA74-4A4D-8F81-6282557BD7AD" IsExpanded="true" AbsoluteBounds="2.056156998052479, 2.1148508210477872, 0.05, 0.05">
17296
17311
  <ormDiagram:Subject ref="_8B6BC787-EB8A-4011-9B09-04E14CB3E3CC" />
17297
17312
  </ormDiagram:RoleNameShape>
17298
17313
  </ormDiagram:RelativeShapes>
@@ -17302,12 +17317,12 @@ then that Absorption is some Component that belongs to some parent Mapping that
17302
17317
  <ormDiagram:Role ref="_8B6BC787-EB8A-4011-9B09-04E14CB3E3CC" />
17303
17318
  </ormDiagram:RoleDisplayOrder>
17304
17319
  </ormDiagram:FactTypeShape>
17305
- <ormDiagram:ObjectTypeShape id="_3834D6A4-B4CA-4273-9C6F-BB0F168B4A66" IsExpanded="true" AbsoluteBounds="5.002261177624, 6.400779312952257, 0.69942479848861694, 0.22950302660465241">
17320
+ <ormDiagram:ObjectTypeShape id="_3834D6A4-B4CA-4273-9C6F-BB0F168B4A66" IsExpanded="true" AbsoluteBounds="5.1349756017269463, 6.6425182019047231, 0.69942479848861694, 0.22950302660465241">
17306
17321
  <ormDiagram:Subject ref="_4A49FC50-0CE4-49E8-8376-5B8590845541" />
17307
17322
  </ormDiagram:ObjectTypeShape>
17308
- <ormDiagram:FactTypeShape id="_5328B387-2226-4366-BC4A-C480BAA7570E" IsExpanded="true" AbsoluteBounds="5.0726207303868387, 5.3519685784035271, 0.38388888899236917, 0.24388888899236916">
17323
+ <ormDiagram:FactTypeShape id="_5328B387-2226-4366-BC4A-C480BAA7570E" IsExpanded="true" AbsoluteBounds="5.2053351544897852, 5.5937074673559923, 0.38388888899236917, 0.24388888899236916">
17309
17324
  <ormDiagram:RelativeShapes>
17310
- <ormDiagram:ReadingShape id="_7F8CD4FF-A474-4F82-91FE-784B657CB5C4" IsExpanded="true" AbsoluteBounds="4.9770262803888672, 5.6765413890312155, 0.95934152603149414, 0.12950302660465241">
17325
+ <ormDiagram:ReadingShape id="_7F8CD4FF-A474-4F82-91FE-784B657CB5C4" IsExpanded="true" AbsoluteBounds="5.1097407044918137, 5.9182802779836807, 0.95934152603149414, 0.12950302660465241">
17311
17326
  <ormDiagram:Subject ref="_1AC3F1A8-D2A0-4E44-BA7D-EC4259C54DDA" />
17312
17327
  </ormDiagram:ReadingShape>
17313
17328
  </ormDiagram:RelativeShapes>
@@ -17317,9 +17332,9 @@ then that Absorption is some Component that belongs to some parent Mapping that
17317
17332
  <ormDiagram:Role ref="_5B536D4B-03A4-43D1-8E21-BAA11B1915E1" />
17318
17333
  </ormDiagram:RoleDisplayOrder>
17319
17334
  </ormDiagram:FactTypeShape>
17320
- <ormDiagram:FactTypeShape id="_0968A420-A6C0-4411-9488-A591E755723A" IsExpanded="true" AbsoluteBounds="3.8228892673780162, 4.7626512041547935, 0.38388888899236917, 0.24388888899236916">
17335
+ <ormDiagram:FactTypeShape id="_0968A420-A6C0-4411-9488-A591E755723A" IsExpanded="true" AbsoluteBounds="3.8703505548759383, 5.00439009310726, 0.38388888899236917, 0.24388888899236916">
17321
17336
  <ormDiagram:RelativeShapes>
17322
- <ormDiagram:ReadingShape id="_56B559FB-B6BC-45E3-81FD-41CF4A55727F" IsExpanded="true" AbsoluteBounds="3.5538809723677649, 5.0402521877944588, 0.82518625259399414, 0.12950302660465241">
17337
+ <ormDiagram:ReadingShape id="_56B559FB-B6BC-45E3-81FD-41CF4A55727F" IsExpanded="true" AbsoluteBounds="3.601342259865687, 5.2819910767469249, 0.82518625259399414, 0.12950302660465241">
17323
17338
  <ormDiagram:Subject ref="_69894A4B-7A46-4D94-9A67-4AF39106C3C2" />
17324
17339
  </ormDiagram:ReadingShape>
17325
17340
  </ormDiagram:RelativeShapes>
@@ -17329,26 +17344,23 @@ then that Absorption is some Component that belongs to some parent Mapping that
17329
17344
  <ormDiagram:Role ref="_30290A84-BB41-49A9-9FF6-DB3C7E73CA3F" />
17330
17345
  </ormDiagram:RoleDisplayOrder>
17331
17346
  </ormDiagram:FactTypeShape>
17332
- <ormDiagram:ModelNoteShape id="_0A175D4A-A974-4C51-8A31-854E0FFD9F69" IsExpanded="true" AbsoluteBounds="0.5, 8.0027901630618, 4.54000178527832, 0.61090413284301759">
17333
- <ormDiagram:Subject ref="_E9030C26-B3A3-4A37-882A-276C5A4DFC02" />
17334
- </ormDiagram:ModelNoteShape>
17335
- <ormDiagram:ModelNoteShape id="_9A30A348-00B4-416E-85B3-708F9A9CE3BA" IsExpanded="true" AbsoluteBounds="4.2075254812812917, 4.4803482222152216, 3.7576192970275879, 0.2588533217906952">
17347
+ <ormDiagram:ModelNoteShape id="_9A30A348-00B4-416E-85B3-708F9A9CE3BA" IsExpanded="true" AbsoluteBounds="4.2794276725477092, 4.7220871111676868, 3.9374424571990971, 0.2588533217906952">
17336
17348
  <ormDiagram:Subject ref="_39D1306F-6C1B-4FEC-ADF8-3959AEC77C2A" />
17337
17349
  </ormDiagram:ModelNoteShape>
17338
- <ormDiagram:FactTypeShape id="_6C9AD75C-416E-4A8D-B699-F85C8E473BC2" IsExpanded="true" AbsoluteBounds="1.3577196616303391, 4.8326512041547938, 0.2238888889923692, 0.17388888899236918">
17350
+ <ormDiagram:FactTypeShape id="_6C9AD75C-416E-4A8D-B699-F85C8E473BC2" IsExpanded="true" AbsoluteBounds="1.4051809491282614, 5.07439009310726, 0.2238888889923692, 0.17388888899236918">
17339
17351
  <ormDiagram:RelativeShapes>
17340
- <ormDiagram:ReadingShape id="_00397F8D-944F-4EB5-9DCD-FD9F3BD4E225" IsExpanded="true" AbsoluteBounds="0.993264603660883, 4.8483793630712322, 0.35996273159980774, 0.12950302660465241">
17352
+ <ormDiagram:ReadingShape id="_00397F8D-944F-4EB5-9DCD-FD9F3BD4E225" IsExpanded="true" AbsoluteBounds="1.0407258911588053, 5.0901182520236983, 0.35996273159980774, 0.12950302660465241">
17341
17353
  <ormDiagram:Subject ref="_610C5D27-DAD2-4381-A75A-2214DA0C65A7" />
17342
17354
  </ormDiagram:ReadingShape>
17343
17355
  </ormDiagram:RelativeShapes>
17344
17356
  <ormDiagram:Subject ref="_DC8015D6-FB62-4DEB-BD7F-F473FFA6AC4C" />
17345
17357
  </ormDiagram:FactTypeShape>
17346
- <ormDiagram:ObjectTypeShape id="_C33617E7-73BB-4742-B1C5-B7BD90F8BFE8" IsExpanded="true" AbsoluteBounds="0.68799053935752985, 0.82626370342064082, 0.44445383071899414, 0.22950302660465241">
17358
+ <ormDiagram:ObjectTypeShape id="_C33617E7-73BB-4742-B1C5-B7BD90F8BFE8" IsExpanded="true" AbsoluteBounds="0.76800908660888667, 1.0680025923731082, 0.44445383071899414, 0.22950302660465241">
17347
17359
  <ormDiagram:Subject ref="_25D2C6A4-DE21-447E-BB72-3EF90026E125" />
17348
17360
  </ormDiagram:ObjectTypeShape>
17349
- <ormDiagram:FactTypeShape id="_7951F8A5-BAF7-407F-BD63-9A49DF0E9BE3" IsExpanded="true" AbsoluteBounds="1.6448359913264843, 0.78407077222678256, 0.38388888899236917, 0.24388888899236916">
17361
+ <ormDiagram:FactTypeShape id="_7951F8A5-BAF7-407F-BD63-9A49DF0E9BE3" IsExpanded="true" AbsoluteBounds="1.669856991078748, 1.02580966117925, 0.38388888899236917, 0.24388888899236916">
17350
17362
  <ormDiagram:RelativeShapes>
17351
- <ormDiagram:ReadingShape id="_DA583D60-7C0C-4F9D-AF48-6D085CF5E2FF" IsExpanded="true" AbsoluteBounds="1.6448359913264843, 1.0927111745214806, 0.43346126675605773, 0.12950302660465241">
17363
+ <ormDiagram:ReadingShape id="_DA583D60-7C0C-4F9D-AF48-6D085CF5E2FF" IsExpanded="true" AbsoluteBounds="1.669856991078748, 1.334450063473948, 0.43346126675605773, 0.12950302660465241">
17352
17364
  <ormDiagram:Subject ref="_8434C3D0-6DDE-4E01-BFBE-BDB8F54E6326" />
17353
17365
  </ormDiagram:ReadingShape>
17354
17366
  </ormDiagram:RelativeShapes>
@@ -17358,29 +17370,29 @@ then that Absorption is some Component that belongs to some parent Mapping that
17358
17370
  <ormDiagram:Role ref="_CE2B0AEC-BAEB-4902-BEE9-5CB79E065A1B" />
17359
17371
  </ormDiagram:RoleDisplayOrder>
17360
17372
  </ormDiagram:FactTypeShape>
17361
- <ormDiagram:ExternalConstraintShape id="_E802EC42-8F3B-48EC-ACA2-606F0A4B923A" IsExpanded="true" AbsoluteBounds="1.3896641061265238, 1.4338140589136375, 0.16, 0.16">
17373
+ <ormDiagram:ExternalConstraintShape id="_E802EC42-8F3B-48EC-ACA2-606F0A4B923A" IsExpanded="true" AbsoluteBounds="1.4371253936244459, 1.6755529478661049, 0.16, 0.16">
17362
17374
  <ormDiagram:Subject ref="_2E788E45-9073-467F-B7B9-96B0C0178B7E" />
17363
17375
  </ormDiagram:ExternalConstraintShape>
17364
- <ormDiagram:ExternalConstraintShape id="_E5224181-EAB7-4958-B7EC-8E66BAEB79C4" IsExpanded="true" AbsoluteBounds="2.1021323773257237, 4.2132999583029633, 0.16, 0.16">
17376
+ <ormDiagram:ExternalConstraintShape id="_E5224181-EAB7-4958-B7EC-8E66BAEB79C4" IsExpanded="true" AbsoluteBounds="2.1495936648236458, 4.4550388472554285, 0.16, 0.16">
17365
17377
  <ormDiagram:Subject ref="_8C8C66BF-B81C-4BA9-99DF-F2DE6B79E078" />
17366
17378
  </ormDiagram:ExternalConstraintShape>
17367
- <ormDiagram:FactTypeShape id="_7846684F-65AB-4CE8-976F-F02B99CA8466" IsExpanded="true" AbsoluteBounds="3.8228892673780162, 5.3519685784035271, 0.38388888899236917, 0.24388888899236916">
17379
+ <ormDiagram:FactTypeShape id="_7846684F-65AB-4CE8-976F-F02B99CA8466" IsExpanded="true" AbsoluteBounds="3.8703505548759383, 5.5937074673559923, 0.38388888899236917, 0.24388888899236916">
17368
17380
  <ormDiagram:RelativeShapes>
17369
- <ormDiagram:ReadingShape id="_0C4BC83B-2045-41E5-BB2F-69465D47769A" IsExpanded="true" AbsoluteBounds="3.4796513431419416, 5.6295695620431925, 1.0266565084457398, 0.12950302660465241">
17381
+ <ormDiagram:ReadingShape id="_0C4BC83B-2045-41E5-BB2F-69465D47769A" IsExpanded="true" AbsoluteBounds="3.5271126306398637, 5.8713084509956577, 1.0266565084457398, 0.12950302660465241">
17370
17382
  <ormDiagram:Subject ref="_E272B42C-EAC1-47EC-8042-37F2C843645C" />
17371
17383
  </ormDiagram:ReadingShape>
17372
17384
  </ormDiagram:RelativeShapes>
17373
17385
  <ormDiagram:Subject ref="_6096F661-5482-40E6-97AD-A4D3EBDF3187" />
17374
17386
  </ormDiagram:FactTypeShape>
17375
- <ormDiagram:ObjectTypeShape id="_413F1965-E2AF-4E7B-BFF2-8D9D9B6E0D0E" IsExpanded="true" AbsoluteBounds="3.7059233145830186, 0.8262637034206417, 0.617820794582367, 0.22950302660465241">
17387
+ <ormDiagram:ObjectTypeShape id="_413F1965-E2AF-4E7B-BFF2-8D9D9B6E0D0E" IsExpanded="true" AbsoluteBounds="3.7533846020809407, 1.0680025923731091, 0.617820794582367, 0.22950302660465241">
17376
17388
  <ormDiagram:Subject ref="_C79CB122-3E40-4199-9A78-0AB6E9CE2A79" />
17377
17389
  </ormDiagram:ObjectTypeShape>
17378
- <ormDiagram:ObjectTypeShape id="_231FDB42-C238-4809-B541-F1B3896DF26C" IsExpanded="true" AbsoluteBounds="3.598233576309398, 1.3990625456113122, 0.83320027112960815, 0.22950302660465241">
17390
+ <ormDiagram:ObjectTypeShape id="_231FDB42-C238-4809-B541-F1B3896DF26C" IsExpanded="true" AbsoluteBounds="3.64569486380732, 1.6408014345637796, 0.83320027112960815, 0.22950302660465241">
17379
17391
  <ormDiagram:Subject ref="_B37F1E95-6872-4F0B-9A83-412C935929E7" />
17380
17392
  </ormDiagram:ObjectTypeShape>
17381
- <ormDiagram:FactTypeShape id="_BC8FFB3A-0D4E-4FC9-85B2-2D9B79DED360" IsExpanded="true" AbsoluteBounds="4.9271443830942623, 0.78407077222678256, 0.38388888899236917, 0.24388888899236916">
17393
+ <ormDiagram:FactTypeShape id="_BC8FFB3A-0D4E-4FC9-85B2-2D9B79DED360" IsExpanded="true" AbsoluteBounds="5.0658849218309987, 1.02580966117925, 0.38388888899236917, 0.24388888899236916">
17382
17394
  <ormDiagram:RelativeShapes>
17383
- <ormDiagram:ReadingShape id="_2699095C-9318-4998-A32C-0CD8F9924973" IsExpanded="true" AbsoluteBounds="4.528834174769381, 1.0528801536889914, 0.96522802114486694, 0.12950302660465241">
17395
+ <ormDiagram:ReadingShape id="_2699095C-9318-4998-A32C-0CD8F9924973" IsExpanded="true" AbsoluteBounds="4.6675747135061174, 1.2946190426414588, 0.96522802114486694, 0.12950302660465241">
17384
17396
  <ormDiagram:Subject ref="_DBC31188-9EEF-4307-A3F6-B9ED0CCA07C7" />
17385
17397
  </ormDiagram:ReadingShape>
17386
17398
  </ormDiagram:RelativeShapes>
@@ -17390,9 +17402,9 @@ then that Absorption is some Component that belongs to some parent Mapping that
17390
17402
  <ormDiagram:Role ref="_5C2627FE-0158-4223-8854-145DE8BB0103" />
17391
17403
  </ormDiagram:RoleDisplayOrder>
17392
17404
  </ormDiagram:FactTypeShape>
17393
- <ormDiagram:FactTypeShape id="_90B59620-741C-4467-B190-F6A78164CB63" IsExpanded="true" AbsoluteBounds="4.861623070033934, 1.286869614417453, 0.5438888889923692, 0.31388888899236916">
17405
+ <ormDiagram:FactTypeShape id="_90B59620-741C-4467-B190-F6A78164CB63" IsExpanded="true" AbsoluteBounds="5.00036360877067, 1.5286085033699204, 0.5438888889923692, 0.31388888899236916">
17394
17406
  <ormDiagram:RelativeShapes>
17395
- <ormDiagram:ReadingShape id="_8BB0B1AB-EACF-48C9-94B5-3B217BAD27CE" IsExpanded="true" AbsoluteBounds="4.861623070033934, 1.6655100167121502, 1.2046756744384766, 0.12950302660465241">
17407
+ <ormDiagram:ReadingShape id="_8BB0B1AB-EACF-48C9-94B5-3B217BAD27CE" IsExpanded="true" AbsoluteBounds="5.00036360877067, 1.9072489056646176, 1.2046756744384766, 0.12950302660465241">
17396
17408
  <ormDiagram:Subject ref="_CAD3B786-5F32-449C-AE41-C7992C90B073" />
17397
17409
  </ormDiagram:ReadingShape>
17398
17410
  </ormDiagram:RelativeShapes>
@@ -17403,65 +17415,65 @@ then that Absorption is some Component that belongs to some parent Mapping that
17403
17415
  <ormDiagram:Role ref="_AA5D1430-6D4D-4A1B-ABB1-3FB7362F2F6E" />
17404
17416
  </ormDiagram:RoleDisplayOrder>
17405
17417
  </ormDiagram:FactTypeShape>
17406
- <ormDiagram:ObjectTypeShape id="_201461C6-F3E1-4477-9405-F491B48329FF" IsExpanded="true" AbsoluteBounds="3.7394146578428291, 2.2178435757912558, 0.55083810806274414, 0.22950302660465241">
17418
+ <ormDiagram:ObjectTypeShape id="_201461C6-F3E1-4477-9405-F491B48329FF" IsExpanded="true" AbsoluteBounds="3.7868759453407512, 2.4121211772458011, 0.55083810806274414, 0.22950302660465241">
17407
17419
  <ormDiagram:Subject ref="_57FC7F7E-5AB2-4DF0-A0FC-B01388581A98" />
17408
17420
  </ormDiagram:ObjectTypeShape>
17409
- <ormDiagram:FrequencyConstraintShape id="_70FD4EC4-B3F5-4E65-B1ED-22ADB76F97FB" IsExpanded="true" AbsoluteBounds="4.7518202449560718, 1.1356075452500112, 0.25681781768798828, 0.25681781768798828">
17421
+ <ormDiagram:FrequencyConstraintShape id="_70FD4EC4-B3F5-4E65-B1ED-22ADB76F97FB" IsExpanded="true" AbsoluteBounds="4.8905607836928082, 1.3773464342024786, 0.25681781768798828, 0.25681781768798828">
17410
17422
  <ormDiagram:Subject ref="_5C76D53E-E4BB-4F74-9979-47638D3DE6E0" />
17411
17423
  </ormDiagram:FrequencyConstraintShape>
17412
- <ormDiagram:ObjectTypeShape id="_D454A929-ABCB-4C19-B188-813518C06AEC" IsExpanded="true" AbsoluteBounds="3.7092225955841096, 2.7826368072879792, 0.611222232580185, 0.22950302660465241">
17424
+ <ormDiagram:ObjectTypeShape id="_D454A929-ABCB-4C19-B188-813518C06AEC" IsExpanded="true" AbsoluteBounds="3.7566838830820317, 3.0473790285021325, 0.611222232580185, 0.22950302660465241">
17413
17425
  <ormDiagram:Subject ref="_32350DBF-3941-4250-B316-1E369A866F3E" />
17414
17426
  </ormDiagram:ObjectTypeShape>
17415
- <ormDiagram:ObjectTypeShape id="_4BB65F3A-9425-4396-BB74-50F34D2FCFC4" IsExpanded="true" AbsoluteBounds="2.5035302004400317, 0.76151219011831417, 0.73066120862960815, 0.35900605320930479">
17427
+ <ormDiagram:ObjectTypeShape id="_4BB65F3A-9425-4396-BB74-50F34D2FCFC4" IsExpanded="true" AbsoluteBounds="2.5509914879379538, 1.0032510790707816, 0.73066120862960815, 0.35900605320930479">
17416
17428
  <ormDiagram:Subject ref="_A8280EA2-0613-4A3F-BC44-CE95D634779B" />
17417
17429
  </ormDiagram:ObjectTypeShape>
17418
- <ormDiagram:ModelNoteShape id="_B4A73FCC-3CEB-4975-8755-30BBCE0D976D" IsExpanded="true" AbsoluteBounds="3.228822619841206, 0.5, 3.7929696197509766, 0.14150302660465242">
17430
+ <ormDiagram:ModelNoteShape id="_B4A73FCC-3CEB-4975-8755-30BBCE0D976D" IsExpanded="true" AbsoluteBounds="2.936734266271134, 0.78785627367388011, 3.7929696197509766, 0.14150302660465242">
17419
17431
  <ormDiagram:Subject ref="_F81F3682-77FD-446B-A0FE-B392F6546B4B" />
17420
17432
  </ormDiagram:ModelNoteShape>
17421
- <ormDiagram:ObjectTypeShape id="_528C81B2-6B69-40E5-AD1E-133418B3A385" IsExpanded="true" AbsoluteBounds="5.6775495064909371, 0.83114159242902641, 0.37661665201187133, 0.22950302660465241">
17433
+ <ormDiagram:ObjectTypeShape id="_528C81B2-6B69-40E5-AD1E-133418B3A385" IsExpanded="true" AbsoluteBounds="5.8162900452276736, 1.0728804813814938, 0.37661665201187133, 0.22950302660465241">
17422
17434
  <ormDiagram:Subject ref="_ABCDC9B2-822F-4E84-83D4-3732C029BB1B" />
17423
17435
  </ormDiagram:ObjectTypeShape>
17424
- <ormDiagram:ExternalConstraintShape id="_3CB46EF6-C960-488E-A43B-2775717C32EF" IsExpanded="true" AbsoluteBounds="2.0899916608847038, 3.0630433149467717, 0.16, 0.16">
17436
+ <ormDiagram:ExternalConstraintShape id="_3CB46EF6-C960-488E-A43B-2775717C32EF" IsExpanded="true" AbsoluteBounds="2.1374529483826259, 3.3047822038992392, 0.16, 0.16">
17425
17437
  <ormDiagram:Subject ref="_DD3B5604-D38A-4939-8291-E64D24D0436A" />
17426
17438
  </ormDiagram:ExternalConstraintShape>
17427
- <ormDiagram:ExternalConstraintShape id="_98845C72-D28D-4D04-B3EC-5191FEBD45A8" IsExpanded="true" AbsoluteBounds="3.1540957952462114, 4.04585446444131, 0.16, 0.16">
17439
+ <ormDiagram:ExternalConstraintShape id="_98845C72-D28D-4D04-B3EC-5191FEBD45A8" IsExpanded="true" AbsoluteBounds="3.2015570827441335, 4.2875933533937758, 0.16, 0.16">
17428
17440
  <ormDiagram:Subject ref="_5F76BB6E-A761-4899-99BF-2A0C6869EE37" />
17429
17441
  </ormDiagram:ExternalConstraintShape>
17430
- <ormDiagram:ObjectTypeShape id="_D270317A-2BF4-476A-8487-4E81BCAEF2DA" IsExpanded="true" AbsoluteBounds="5.6490189684088143, 1.3990625456113113, 0.43367772817611694, 0.22950302660465241">
17442
+ <ormDiagram:ObjectTypeShape id="_D270317A-2BF4-476A-8487-4E81BCAEF2DA" IsExpanded="true" AbsoluteBounds="5.7877595071455508, 1.6408014345637787, 0.43367772817611694, 0.22950302660465241">
17431
17443
  <ormDiagram:Subject ref="_37D88A60-D029-4760-929B-038077D1A708" />
17432
17444
  </ormDiagram:ObjectTypeShape>
17433
- <ormDiagram:ExternalConstraintShape id="_40607EF9-4E39-4C02-B8E9-003585C8A2AE" IsExpanded="true" AbsoluteBounds="3.2987782403847592, 1.4338140589136383, 0.16, 0.16">
17445
+ <ormDiagram:ExternalConstraintShape id="_40607EF9-4E39-4C02-B8E9-003585C8A2AE" IsExpanded="true" AbsoluteBounds="3.3462395278826813, 1.6755529478661058, 0.16, 0.16">
17434
17446
  <ormDiagram:Subject ref="_2F17A7BC-306A-4462-80C4-3622D5493D01" />
17435
17447
  </ormDiagram:ExternalConstraintShape>
17436
- <ormDiagram:ModelNoteShape id="_B8AA3992-3832-45B4-B752-43A75D172890" IsExpanded="true" AbsoluteBounds="4.4074208172353746, 2.1814688476187931, 2.5590514297485352, 0.2588533217906952">
17448
+ <ormDiagram:ModelNoteShape id="_B8AA3992-3832-45B4-B752-43A75D172890" IsExpanded="true" AbsoluteBounds="4.4548821047332972, 2.3757464490733384, 2.5590514297485352, 0.2588533217906952">
17437
17449
  <ormDiagram:Subject ref="_FA2D77F6-B644-4F3F-BA22-BE5F74B88D49" />
17438
17450
  </ormDiagram:ModelNoteShape>
17439
- <ormDiagram:ModelNoteShape id="_E96A9244-CB5A-4992-9DE3-5B06B1B76A86" IsExpanded="true" AbsoluteBounds="4.5936133418318317, 2.7450777906634563, 2.5172287578582764, 0.2588533217906952">
17451
+ <ormDiagram:ModelNoteShape id="_E96A9244-CB5A-4992-9DE3-5B06B1B76A86" IsExpanded="true" AbsoluteBounds="4.0125535180533447, 2.7197333451346486, 3.0259365196228027, 0.2588533217906952">
17440
17452
  <ormDiagram:Subject ref="_E6F06CF4-44F6-42A8-BAA3-DC7088FBC488" />
17441
17453
  </ormDiagram:ModelNoteShape>
17442
- <ormDiagram:FactTypeShape id="_B4F7CD22-933F-4A9D-BBC8-B520855B0BC9" IsExpanded="true" AbsoluteBounds="0.71827301022084233, 1.356869614417453, 0.38388888899236917, 0.24388888899236916">
17454
+ <ormDiagram:FactTypeShape id="_B4F7CD22-933F-4A9D-BBC8-B520855B0BC9" IsExpanded="true" AbsoluteBounds="0.79829155747219915, 1.5986085033699204, 0.38388888899236917, 0.24388888899236916">
17443
17455
  <ormDiagram:RelativeShapes>
17444
- <ormDiagram:ReadingShape id="_F78473B2-3819-4DA6-9A22-4E485856BE15" IsExpanded="true" AbsoluteBounds="0.76827301022084238, 1.6655100167121493, 0.66971611976623535, 0.12950302660465241">
17456
+ <ormDiagram:ReadingShape id="_F78473B2-3819-4DA6-9A22-4E485856BE15" IsExpanded="true" AbsoluteBounds="0.8482915574721992, 1.9072489056646167, 0.66971611976623535, 0.12950302660465241">
17445
17457
  <ormDiagram:Subject ref="_39D0F45B-DC98-4B10-8026-EDEA761D0801" />
17446
17458
  </ormDiagram:ReadingShape>
17447
17459
  </ormDiagram:RelativeShapes>
17448
17460
  <ormDiagram:Subject ref="_DEC73244-39B9-4CFD-8356-CEBF4A034D10" />
17449
17461
  </ormDiagram:FactTypeShape>
17450
- <ormDiagram:ModelNoteShape id="_3B645FD2-0EB0-48A7-8309-7B1E94CCD6B8" IsExpanded="true" AbsoluteBounds="3.2924586507553184, 1.8161704221796733, 2.0107523555755615, 0.2588533217906952">
17462
+ <ormDiagram:ModelNoteShape id="_3B645FD2-0EB0-48A7-8309-7B1E94CCD6B8" IsExpanded="true" AbsoluteBounds="3.3399199382532405, 2.0579093111321405, 2.7573885078430176, 0.2588533217906952">
17451
17463
  <ormDiagram:Subject ref="_B4F02530-8044-428F-A881-98A56E623EA1" />
17452
17464
  </ormDiagram:ModelNoteShape>
17453
- <ormDiagram:ModelNoteShape id="_10199046-1B19-4193-89A5-921FC83B67E3" IsExpanded="true" AbsoluteBounds="3.8964478916335477, 5.8747443518037477, 2.2699481601715088, 0.2588533217906952">
17465
+ <ormDiagram:ModelNoteShape id="_10199046-1B19-4193-89A5-921FC83B67E3" IsExpanded="true" AbsoluteBounds="3.9439091791314698, 6.1164832407562137, 2.8209532852172852, 0.37620357227325441">
17454
17466
  <ormDiagram:Subject ref="_AE143400-FB85-429A-9C4C-09C081A2C86A" />
17455
17467
  </ormDiagram:ModelNoteShape>
17456
- <ormDiagram:RingConstraintShape id="_DD40E02F-5956-4297-8A04-7A04D5CE6AA9" IsExpanded="true" AbsoluteBounds="2.4600036619820269, 1.9096187618274905, 0.213333333, 0.213333333">
17468
+ <ormDiagram:RingConstraintShape id="_DD40E02F-5956-4297-8A04-7A04D5CE6AA9" IsExpanded="true" AbsoluteBounds="2.507464949479949, 2.1513576507799579, 0.213333333, 0.213333333">
17457
17469
  <ormDiagram:Subject ref="_CC25CC73-F5C3-4684-B944-B359A3117BCF" />
17458
17470
  </ormDiagram:RingConstraintShape>
17459
- <ormDiagram:FactTypeShape id="_AAE796D7-DB60-4452-9D1E-B49A22280472" IsExpanded="true" AbsoluteBounds="1.7878970274071033, 6.3275863817583984, 0.6738888889923691, 0.30588888899236916">
17471
+ <ormDiagram:FactTypeShape id="_AAE796D7-DB60-4452-9D1E-B49A22280472" IsExpanded="true" AbsoluteBounds="1.8353583149050254, 6.5693252707108645, 0.6738888889923691, 0.30588888899236916">
17460
17472
  <ormDiagram:RelativeShapes>
17461
- <ormDiagram:ReadingShape id="_70193934-3A37-4197-BB16-19365F635DD5" IsExpanded="true" AbsoluteBounds="1.5269859760755695, 6.6712359856394876, 1.4981937408447266, 0.12950302660465241">
17473
+ <ormDiagram:ReadingShape id="_70193934-3A37-4197-BB16-19365F635DD5" IsExpanded="true" AbsoluteBounds="1.5744472635734916, 6.9129748745919537, 1.4981937408447266, 0.12950302660465241">
17462
17474
  <ormDiagram:Subject ref="_CBDE86EE-A121-4312-8F4E-146B62633CFB" />
17463
17475
  </ormDiagram:ReadingShape>
17464
- <ormDiagram:ObjectifiedFactTypeNameShape id="_D4635F4A-5450-456B-8D6C-1AB1F84A6F01" IsExpanded="true" AbsoluteBounds="1.7878970274071033, 6.13333184185142, 0.44460493326187134, 0.12950302660465241">
17476
+ <ormDiagram:ObjectifiedFactTypeNameShape id="_D4635F4A-5450-456B-8D6C-1AB1F84A6F01" IsExpanded="true" AbsoluteBounds="1.8353583149050254, 6.3750707308038859, 0.44460493326187134, 0.12950302660465241">
17465
17477
  <ormDiagram:Subject ref="_583079A2-FCCF-4B48-8E67-5193D9A5F427" />
17466
17478
  </ormDiagram:ObjectifiedFactTypeNameShape>
17467
17479
  </ormDiagram:RelativeShapes>
@@ -17472,9 +17484,9 @@ then that Absorption is some Component that belongs to some parent Mapping that
17472
17484
  <ormDiagram:Role ref="_3ECA0267-A4E1-4210-B6A7-40F9F5364470" />
17473
17485
  </ormDiagram:RoleDisplayOrder>
17474
17486
  </ormDiagram:FactTypeShape>
17475
- <ormDiagram:FactTypeShape id="_ED92330D-3F74-4353-A61C-14AD0F0771B0" IsExpanded="true" AbsoluteBounds="1.889686242430459, 3.55343276576903, 0.38388888899236917, 0.24388888899236916">
17487
+ <ormDiagram:FactTypeShape id="_ED92330D-3F74-4353-A61C-14AD0F0771B0" IsExpanded="true" AbsoluteBounds="1.9371475299283811, 3.7951716547214973, 0.38388888899236917, 0.24388888899236916">
17476
17488
  <ormDiagram:RelativeShapes>
17477
- <ormDiagram:ReadingShape id="_1351CB97-884D-47DC-8A0D-C2AADA7176A7" IsExpanded="true" AbsoluteBounds="1.623691331907164, 3.8620731680637252, 0.94861292839050293, 0.12950302660465241">
17489
+ <ormDiagram:ReadingShape id="_1351CB97-884D-47DC-8A0D-C2AADA7176A7" IsExpanded="true" AbsoluteBounds="1.6711526194050861, 4.1038120570161922, 0.94861292839050293, 0.12950302660465241">
17478
17490
  <ormDiagram:Subject ref="_E8E764A4-7D72-401B-AA0E-2E2463506B8C" />
17479
17491
  </ormDiagram:ReadingShape>
17480
17492
  </ormDiagram:RelativeShapes>
@@ -17484,9 +17496,9 @@ then that Absorption is some Component that belongs to some parent Mapping that
17484
17496
  <ormDiagram:Role ref="_26D94604-0A10-41E4-8A8E-3F145C9AB03B" />
17485
17497
  </ormDiagram:RoleDisplayOrder>
17486
17498
  </ormDiagram:FactTypeShape>
17487
- <ormDiagram:FactTypeShape id="_D85B6573-6777-483C-9739-B6C5EA483FBF" IsExpanded="true" AbsoluteBounds="2.6825151450227143, 5.3519685784035271, 0.38388888899236917, 0.24388888899236916">
17499
+ <ormDiagram:FactTypeShape id="_D85B6573-6777-483C-9739-B6C5EA483FBF" IsExpanded="true" AbsoluteBounds="2.7299764325206364, 5.5937074673559923, 0.38388888899236917, 0.24388888899236916">
17488
17500
  <ormDiagram:RelativeShapes>
17489
- <ormDiagram:ReadingShape id="_477D1A4A-FEB6-4740-AD94-2DCC546F1B25" IsExpanded="true" AbsoluteBounds="2.383139738997794, 5.6606089806982229, 1.0404708385467529, 0.12950302660465241">
17501
+ <ormDiagram:ReadingShape id="_477D1A4A-FEB6-4740-AD94-2DCC546F1B25" IsExpanded="true" AbsoluteBounds="2.4306010264957161, 5.9023478696506881, 1.0404708385467529, 0.12950302660465241">
17490
17502
  <ormDiagram:Subject ref="_42202CEC-82BF-4475-AA2E-8A193D50C3CA" />
17491
17503
  </ormDiagram:ReadingShape>
17492
17504
  </ormDiagram:RelativeShapes>
@@ -17496,27 +17508,27 @@ then that Absorption is some Component that belongs to some parent Mapping that
17496
17508
  <ormDiagram:Role ref="_42115505-97E1-48B9-87D6-71DB1378ED86" />
17497
17509
  </ormDiagram:RoleDisplayOrder>
17498
17510
  </ormDiagram:FactTypeShape>
17499
- <ormDiagram:ExternalConstraintShape id="_53658C42-AA3E-43BF-89F5-E4186C1FFB73" IsExpanded="true" AbsoluteBounds="3.9348337118742007, 4.1042802237304183, 0.16, 0.16">
17511
+ <ormDiagram:ExternalConstraintShape id="_53658C42-AA3E-43BF-89F5-E4186C1FFB73" IsExpanded="true" AbsoluteBounds="3.9822949993721228, 4.3460191126828835, 0.16, 0.16">
17500
17512
  <ormDiagram:Subject ref="_07F24ACF-D8A5-40A0-92FC-BFC087225CB8" />
17501
17513
  </ormDiagram:ExternalConstraintShape>
17502
- <ormDiagram:ExternalConstraintShape id="_D6BA0B2F-03D9-4192-8723-9AC88F6E6C6E" IsExpanded="true" AbsoluteBounds="4.3772105581792458, 3.5022833652498631, 0.16, 0.16">
17514
+ <ormDiagram:ExternalConstraintShape id="_D6BA0B2F-03D9-4192-8723-9AC88F6E6C6E" IsExpanded="true" AbsoluteBounds="4.3772105581792458, 3.7440222542023305, 0.16, 0.16">
17503
17515
  <ormDiagram:Subject ref="_CC4F9EB2-1E67-4EDB-A6C1-50D4D144CF0B" />
17504
17516
  </ormDiagram:ExternalConstraintShape>
17505
- <ormDiagram:ModelNoteShape id="_289B6686-8BDE-453A-A99C-7F992AA3693A" IsExpanded="true" AbsoluteBounds="3.9946381479633652, 3.09246810306024, 5.0495642776489253, 0.2588533217906952">
17517
+ <ormDiagram:ModelNoteShape id="_289B6686-8BDE-453A-A99C-7F992AA3693A" IsExpanded="true" AbsoluteBounds="4.0420994354612878, 3.3342069920127075, 4.8204177970886226, 0.2588533217906952">
17506
17518
  <ormDiagram:Subject ref="_2E8601DA-1E1A-4EE0-9FD8-90A6434BAFF3" />
17507
17519
  </ormDiagram:ModelNoteShape>
17508
- <ormDiagram:ObjectTypeShape id="_9B2C9E3F-21DC-419B-923F-B9E10D046DCF" IsExpanded="true" AbsoluteBounds="2.7667595581288489, 6.400779312952257, 0.52050363540649414, 0.22950302660465241">
17520
+ <ormDiagram:ObjectTypeShape id="_9B2C9E3F-21DC-419B-923F-B9E10D046DCF" IsExpanded="true" AbsoluteBounds="2.814220845626771, 6.6425182019047231, 0.52050363540649414, 0.22950302660465241">
17509
17521
  <ormDiagram:Subject ref="_4674DAF9-EFB8-4C15-A06F-F75328A04FA0" />
17510
17522
  </ormDiagram:ObjectTypeShape>
17511
- <ormDiagram:ObjectTypeShape id="_1A10C89C-603B-42ED-905D-5D16A78F2C08" IsExpanded="true" AbsoluteBounds="1.064711456749381, 6.400779312952257, 0.37661665201187133, 0.22950302660465241">
17523
+ <ormDiagram:ObjectTypeShape id="_1A10C89C-603B-42ED-905D-5D16A78F2C08" IsExpanded="true" AbsoluteBounds="1.1121727442473031, 6.6425182019047231, 0.37661665201187133, 0.22950302660465241">
17512
17524
  <ormDiagram:Subject ref="_ABCDC9B2-822F-4E84-83D4-3732C029BB1B" />
17513
17525
  </ormDiagram:ObjectTypeShape>
17514
- <ormDiagram:ObjectTypeShape id="_CC0205D9-76B1-41DD-A68E-82A8373F23BC" IsExpanded="true" AbsoluteBounds="0.97589234798299018, 5.3941615095973861, 0.44445383071899414, 0.22950302660465241">
17526
+ <ormDiagram:ObjectTypeShape id="_CC0205D9-76B1-41DD-A68E-82A8373F23BC" IsExpanded="true" AbsoluteBounds="1.0782541548937417, 5.8776392875023173, 0.44445383071899414, 0.22950302660465241">
17515
17527
  <ormDiagram:Subject ref="_25D2C6A4-DE21-447E-BB72-3EF90026E125" />
17516
17528
  </ormDiagram:ObjectTypeShape>
17517
- <ormDiagram:FactTypeShape id="_2F4E527E-F0E5-4C92-A2C2-A2705DC0FD64" IsExpanded="true" AbsoluteBounds="1.7121301457746032, 5.3519685784035271, 0.38388888899236917, 0.24388888899236916">
17529
+ <ormDiagram:FactTypeShape id="_2F4E527E-F0E5-4C92-A2C2-A2705DC0FD64" IsExpanded="true" AbsoluteBounds="1.7595914332725253, 5.8354463563084575, 0.38388888899236917, 0.24388888899236916">
17518
17530
  <ormDiagram:RelativeShapes>
17519
- <ormDiagram:ReadingShape id="_6841E320-7567-4700-BE2F-2F909AC9D65A" IsExpanded="true" AbsoluteBounds="1.5771761537065685, 5.6426151150891517, 0.45558311343193053, 0.12950302660465241">
17531
+ <ormDiagram:ReadingShape id="_6841E320-7567-4700-BE2F-2F909AC9D65A" IsExpanded="true" AbsoluteBounds="1.6246374412044906, 6.1260928929940821, 0.45558311343193053, 0.12950302660465241">
17520
17532
  <ormDiagram:Subject ref="_2F6A444C-6935-4A45-A2DA-AD4E9DC7ADFA" />
17521
17533
  </ormDiagram:ReadingShape>
17522
17534
  </ormDiagram:RelativeShapes>
@@ -17526,17 +17538,17 @@ then that Absorption is some Component that belongs to some parent Mapping that
17526
17538
  <ormDiagram:Role ref="_E2E061D9-1236-4EBE-8C67-F8CC143D35C0" />
17527
17539
  </ormDiagram:RoleDisplayOrder>
17528
17540
  </ormDiagram:FactTypeShape>
17529
- <ormDiagram:ObjectTypeShape id="_F19C5C8F-D780-40D9-A909-077A11908C51" IsExpanded="true" AbsoluteBounds="3.65787333681728, 6.400779312952257, 0.84259968519210815, 0.22950302660465241">
17541
+ <ormDiagram:ObjectTypeShape id="_F19C5C8F-D780-40D9-A909-077A11908C51" IsExpanded="true" AbsoluteBounds="3.7053346243152023, 6.6425182019047231, 0.84259968519210815, 0.22950302660465241">
17530
17542
  <ormDiagram:RelativeShapes>
17531
- <ormDiagram:ValueConstraintShape id="_88602EC0-5C95-4AFD-8D34-1242936131C7" IsExpanded="true" AbsoluteBounds="3.7057644055785022, 6.658144396942637, 1.5149987936019898, 0.12950302660465241">
17543
+ <ormDiagram:ValueConstraintShape id="_88602EC0-5C95-4AFD-8D34-1242936131C7" IsExpanded="true" AbsoluteBounds="3.7532256930764243, 6.8998832858951031, 1.5149987936019898, 0.12950302660465241">
17532
17544
  <ormDiagram:Subject ref="_E8FEEEEE-7745-4028-93DC-3AF8B9410873" />
17533
17545
  </ormDiagram:ValueConstraintShape>
17534
17546
  </ormDiagram:RelativeShapes>
17535
17547
  <ormDiagram:Subject ref="_D26C9629-CD3D-4D1D-A67D-4A2BBA474EA8" />
17536
17548
  </ormDiagram:ObjectTypeShape>
17537
- <ormDiagram:FactTypeShape id="_CB9CDD14-6AC9-4C3F-B3D6-AAC39B436BFE" IsExpanded="true" AbsoluteBounds="3.4132518319373677, 5.8306130548171868, 0.38388888899236917, 0.24388888899236916">
17549
+ <ormDiagram:FactTypeShape id="_CB9CDD14-6AC9-4C3F-B3D6-AAC39B436BFE" IsExpanded="true" AbsoluteBounds="3.46071311943529, 6.072351943769652, 0.38388888899236917, 0.24388888899236916">
17538
17550
  <ormDiagram:RelativeShapes>
17539
- <ormDiagram:ReadingShape id="_749BC027-4E8A-404E-97E3-8EEBBE8F4F78" IsExpanded="true" AbsoluteBounds="3.4132518319373677, 6.1392534571118826, 0.23026981949806213, 0.12950302660465241">
17551
+ <ormDiagram:ReadingShape id="_749BC027-4E8A-404E-97E3-8EEBBE8F4F78" IsExpanded="true" AbsoluteBounds="3.46071311943529, 6.3809923460643478, 0.23026981949806213, 0.12950302660465241">
17540
17552
  <ormDiagram:Subject ref="_084515E1-433A-4B79-ADA4-220359AF7181" />
17541
17553
  </ormDiagram:ReadingShape>
17542
17554
  </ormDiagram:RelativeShapes>
@@ -17546,12 +17558,12 @@ then that Absorption is some Component that belongs to some parent Mapping that
17546
17558
  <ormDiagram:Role ref="_6F4289FB-F681-49E7-AE52-307D4E89B92D" />
17547
17559
  </ormDiagram:RoleDisplayOrder>
17548
17560
  </ormDiagram:FactTypeShape>
17549
- <ormDiagram:ExternalConstraintShape id="_82F4AB44-E393-481D-AA60-D99BA28331FE" IsExpanded="true" AbsoluteBounds="2.5396115778090378, 5.9134617085455243, 0.16, 0.16">
17561
+ <ormDiagram:ExternalConstraintShape id="_82F4AB44-E393-481D-AA60-D99BA28331FE" IsExpanded="true" AbsoluteBounds="2.58707286530696, 6.1552005974979895, 0.16, 0.16">
17550
17562
  <ormDiagram:Subject ref="_BBBECAC9-D1F7-44FA-B35A-7FD880625809" />
17551
17563
  </ormDiagram:ExternalConstraintShape>
17552
- <ormDiagram:FactTypeShape id="_8D7421C7-2A1A-438C-BCD1-6D4A7E4D760E" IsExpanded="true" AbsoluteBounds="1.7357538985951133, 1.356869614417453, 0.38388888899236917, 0.24388888899236916">
17564
+ <ormDiagram:FactTypeShape id="_8D7421C7-2A1A-438C-BCD1-6D4A7E4D760E" IsExpanded="true" AbsoluteBounds="1.669856991078748, 0.5, 0.38388888899236917, 0.24388888899236916">
17553
17565
  <ormDiagram:RelativeShapes>
17554
- <ormDiagram:ReadingShape id="_15A1392D-F273-4872-A1EF-F56FF9B68F8F" IsExpanded="true" AbsoluteBounds="1.7357538985951133, 1.6655100167121484, 0.68734036684036259, 0.12950302660465241">
17566
+ <ormDiagram:ReadingShape id="_15A1392D-F273-4872-A1EF-F56FF9B68F8F" IsExpanded="true" AbsoluteBounds="1.669856991078748, 0.80864040229469536, 0.68734036684036259, 0.12950302660465241">
17555
17567
  <ormDiagram:Subject ref="_B14CDB5C-FCD6-4A75-A508-294DED802DF9" />
17556
17568
  </ormDiagram:ReadingShape>
17557
17569
  </ormDiagram:RelativeShapes>
@@ -17561,15 +17573,24 @@ then that Absorption is some Component that belongs to some parent Mapping that
17561
17573
  <ormDiagram:Role ref="_31534373-6DA5-4ED9-8E05-3D542789DB8F" />
17562
17574
  </ormDiagram:RoleDisplayOrder>
17563
17575
  </ormDiagram:FactTypeShape>
17564
- <ormDiagram:ObjectTypeShape id="_6CB0BD23-80DC-4C83-8F45-D2F3BA0C5F62" IsExpanded="true" AbsoluteBounds="1.57916431201069, 1.9023128183084745, 0.52050363540649414, 0.22950302660465241">
17576
+ <ormDiagram:ObjectTypeShape id="_6CB0BD23-80DC-4C83-8F45-D2F3BA0C5F62" IsExpanded="true" AbsoluteBounds="0.72998418426513667, 0.54219293119385836, 0.52050363540649414, 0.22950302660465241">
17565
17577
  <ormDiagram:Subject ref="_4674DAF9-EFB8-4C15-A06F-F75328A04FA0" />
17566
17578
  </ormDiagram:ObjectTypeShape>
17567
- <ormDiagram:ObjectTypeShape id="_6506969F-2DEE-4C7B-856D-740693D13397" IsExpanded="true" AbsoluteBounds="4.4932869920115488, 2.483153350353632, 0.67483442544937133, 0.22950302660465241">
17579
+ <ormDiagram:ObjectTypeShape id="_6506969F-2DEE-4C7B-856D-740693D13397" IsExpanded="true" AbsoluteBounds="4.9704619752817365, 3.0473790285021325, 0.67483442544937133, 0.22950302660465241">
17568
17580
  <ormDiagram:Subject ref="_8081637F-F1BE-4B58-BF6C-0359BFC7CD53" />
17569
17581
  </ormDiagram:ObjectTypeShape>
17570
- <ormDiagram:ModelNoteShape id="_D947E81E-4B82-49B6-9D85-6E67D18791BC" IsExpanded="true" AbsoluteBounds="5.3441782754668452, 2.5271533503536316, 2.5330683345794678, 0.14150302660465242">
17582
+ <ormDiagram:ModelNoteShape id="_D947E81E-4B82-49B6-9D85-6E67D18791BC" IsExpanded="true" AbsoluteBounds="5.8213532587370329, 3.0913790285021321, 2.5330683345794678, 0.14150302660465242">
17571
17583
  <ormDiagram:Subject ref="_B42BE929-8E57-457F-B9AE-5E5BC2316BC0" />
17572
17584
  </ormDiagram:ModelNoteShape>
17585
+ <ormDiagram:ModelNoteShape id="_0A40F88A-8232-4E64-A6B2-07DD3C68812D" IsExpanded="true" AbsoluteBounds="0.5, 4.1913923988079329, 0.98047200393676759, 0.37620357227325441">
17586
+ <ormDiagram:Subject ref="_E571EE2C-4AC2-477E-8BD1-6457D50EA7B6" />
17587
+ </ormDiagram:ModelNoteShape>
17588
+ <ormDiagram:ModelNoteShape id="_84650E8B-4627-486D-94C0-C77B38C23D7E" IsExpanded="true" AbsoluteBounds="2.3143964218813831, 0.5861929311938584, 3.4234491939544678, 0.14150302660465242">
17589
+ <ormDiagram:Subject ref="_42CD3236-A5DC-4E3A-84A7-DA06AD6FBA74" />
17590
+ </ormDiagram:ModelNoteShape>
17591
+ <ormDiagram:ModelNoteShape id="_039A05D9-B8EC-428D-8CE8-3028EC081619" IsExpanded="true" AbsoluteBounds="0.596695555580987, 7.1226730346679688, 5.0554503555297847, 0.2588533217906952">
17592
+ <ormDiagram:Subject ref="_519F86D3-A4F4-41CE-9F4B-F1A476C22426" />
17593
+ </ormDiagram:ModelNoteShape>
17573
17594
  </ormDiagram:Shapes>
17574
17595
  <ormDiagram:Subject ref="_E99B1F8C-EF79-4A4B-8EBC-66FFD234E616" />
17575
17596
  </ormDiagram:ORMDiagram>
@@ -17633,9 +17654,9 @@ then that Absorption is some Component that belongs to some parent Mapping that
17633
17654
  <ormDiagram:Subject ref="_E99B1F8C-EF79-4A4B-8EBC-66FFD234E616" />
17634
17655
  </ormDiagram:ORMDiagram>
17635
17656
  <diagramDisplay:DiagramDisplay id="_36114BE7-E5F8-4043-B0F7-86F614309DA9" SaveDiagramPosition="true">
17636
- <diagramDisplay:Diagram id="_2BBFBCD4-5B03-4041-BDF3-C3D20F82230E" ref="_DA90097C-5E98-485C-B45D-0ADDC8EF660B" CenterPoint="5.3180388676557007, 3.0552385225894509" ZoomFactor="1.13704979" />
17637
- <diagramDisplay:Diagram id="_91C59B24-B619-4264-82BB-C5F0C17F0962" ref="_F37D50E6-A512-482F-A8D4-70334B31CAF2" CenterPoint="4.0212015596516828, 2.3101993456396834" ZoomFactor="1.5037483" />
17638
- <diagramDisplay:Diagram id="_F680603C-B795-49C1-8665-FF62A2C42E30" ref="_107EEF4C-2438-41D6-96FC-64110DC7F234" CenterPoint="4.0212015596516828, 2.5872847244270516" ZoomFactor="1.5037483" />
17657
+ <diagramDisplay:Diagram id="_2BBFBCD4-5B03-4041-BDF3-C3D20F82230E" ref="_DA90097C-5E98-485C-B45D-0ADDC8EF660B" CenterPoint="5.9089320751730012, 3.4171033551000454" ZoomFactor="1.13704979" />
17658
+ <diagramDisplay:Diagram id="_91C59B24-B619-4264-82BB-C5F0C17F0962" ref="_F37D50E6-A512-482F-A8D4-70334B31CAF2" CenterPoint="4.4680017329463144, 2.5838211571922094" ZoomFactor="1.5037483" />
17659
+ <diagramDisplay:Diagram id="_F680603C-B795-49C1-8665-FF62A2C42E30" ref="_107EEF4C-2438-41D6-96FC-64110DC7F234" CenterPoint="4.0212015596516828, 2.5838211571922094" ZoomFactor="1.5037483" />
17639
17660
  <diagramDisplay:Diagram id="_8A7EB9D9-9782-4B98-BEB8-4925A92F418E" ref="_E6507DF3-A512-482F-A8D4-70334B31CAF2" CenterPoint="4.9681002248616224, 2.6268116131452257" ZoomFactor="1.3225" />
17640
17661
  <diagramDisplay:Diagram id="_1BF33124-B049-4A79-8EEA-23EACFF57ADD" ref="_42D757AB-38DD-4061-8929-7BAEB5912A36" CenterPoint="5.0306579311432529, 2.7124925186924429" ZoomFactor="1.30760729" />
17641
17662
  <diagramDisplay:Diagram id="_9FD5F577-0352-412D-A2F3-708E9F81C997" ref="_89024882-AAC6-4033-9E04-41B22DA86FC4" CenterPoint="4.9740075973049773, 2.6819470892832067" ZoomFactor="1.3225" />
@@ -17643,10 +17664,10 @@ then that Absorption is some Component that belongs to some parent Mapping that
17643
17664
  <diagramDisplay:Diagram id="_B1F54A7E-3930-4803-B9CA-8762146921BF" ref="_E67D50F3-A512-482F-A8D4-70334B31CAF2" CenterPoint="5.0306579311432529, 2.7124925186924429" ZoomFactor="1.30760729" />
17644
17665
  <diagramDisplay:Diagram id="_D9EAA91F-2766-43C2-A029-2A9C308B0E77" ref="_ABD75742-38DD-4061-8929-7BAEB5912A36" CenterPoint="4.1659818166198779, 2.3321279220042226" ZoomFactor="1.520875" />
17645
17666
  <diagramDisplay:Diagram id="_82A4D73D-7B13-4881-A51F-8CAB1D52E40B" ref="_40EBB5F3-C265-444F-8FB0-E8240F9F2278" CenterPoint="4.3252240315584922, 2.3321279220042226" ZoomFactor="1.520875" />
17646
- <diagramDisplay:Diagram id="_2D90736A-0B96-49C0-A224-995D1259160E" ref="_190E178C-2240-4FB2-BC97-C46F01F5DE17" CenterPoint="4.624381518651874, 2.9753772561868645" ZoomFactor="1.30760729" />
17667
+ <diagramDisplay:Diagram id="_2D90736A-0B96-49C0-A224-995D1259160E" ref="_190E178C-2240-4FB2-BC97-C46F01F5DE17" CenterPoint="5.1382016873909713, 2.9713941541036157" ZoomFactor="1.30760729" />
17647
17668
  <diagramDisplay:Diagram id="_57E7F408-FBE8-4009-82EC-A3E88F0DA20A" ref="_86C40B76-3BD0-48A2-82AE-0249005503FC" CenterPoint="5.2581522829253213, 3.383152244052726" ZoomFactor="1.15" />
17648
- <diagramDisplay:Diagram id="_05371502-2ACB-43D7-8AE7-E8A19C0B2B13" ref="_6AEDDB43-BD63-487D-94C9-6E1E01CF1237" CenterPoint="4.3744854176055776, 2.5872847244270516" ZoomFactor="1.5037483" />
17649
- <diagramDisplay:Diagram id="_55A2B3F0-97C3-4FE2-84B3-5F34D393F77E" ref="_099D32BA-5B3C-4FD4-BFCE-C5B30ECB6683" CenterPoint="5.22271949303294, 3.7877087107095053" ZoomFactor="1.157802" IsActive="true" />
17669
+ <diagramDisplay:Diagram id="_05371502-2ACB-43D7-8AE7-E8A19C0B2B13" ref="_6AEDDB43-BD63-487D-94C9-6E1E01CF1237" CenterPoint="4.8212855909002093, 2.5838211571922094" ZoomFactor="1.5037483" />
17670
+ <diagramDisplay:Diagram id="_55A2B3F0-97C3-4FE2-84B3-5F34D393F77E" ref="_099D32BA-5B3C-4FD4-BFCE-C5B30ECB6683" CenterPoint="6.062191692357402, 4.041461128238268" ZoomFactor="1.10830379" IsActive="true" />
17650
17671
  </diagramDisplay:DiagramDisplay>
17651
17672
  <oial:model id="_2864B7FA-6FBE-4B7F-B519-EA46B095A655" name="Metamodel">
17652
17673
  <oial:informationTypeFormats>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activefacts-metamodel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clifford Heath
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-11 00:00:00.000000000 Z
11
+ date: 2015-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -64,20 +64,20 @@ dependencies:
64
64
  requirements:
65
65
  - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: '1.8'
67
+ version: '1.9'
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: 1.8.5
70
+ version: 1.9.0
71
71
  type: :runtime
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: '1.8'
77
+ version: '1.9'
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
- version: 1.8.5
80
+ version: 1.9.0
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: activefacts
83
83
  requirement: !ruby/object:Gem::Requirement