Skip to content
Snippets Groups Projects
Commit 0d2a93c1 authored by Kevin Kassin's avatar Kevin Kassin
Browse files

Commit 20.9 1:00

migrated all non generated transformation testcases
parent eb9f6347
No related branches found
No related tags found
No related merge requests found
Showing
with 2285 additions and 109 deletions
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
title="Simple TestCase for RelationshipImplications" description="Simple TestCase for RelationshipImplications">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="NT" outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
<firstSegment/>
<secondSegment/>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT" incomingRelations="//@framedModel/@elements.2">
<firstSegment/>
<secondSegment/>
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="roleType" incomingRelations="//@framedModel/@elements.1/@model/@elements.3" outgoingRelations="//@framedModel/@elements.1/@model/@elements.2" type="RoleType">
<firstSegment/>
<secondSegment/>
<description name="*"/>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="roleType1" incomingRelations="//@framedModel/@elements.1/@model/@elements.2" outgoingRelations="//@framedModel/@elements.1/@model/@elements.3" type="RoleType">
<firstSegment/>
<secondSegment/>
<description name="*"/>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst" incomingRelations="//@framedModel/@elements.1/@model/@elements.4" type="Relationship" target="//@framedModel/@elements.1/@model/@elements.1" source="//@framedModel/@elements.1/@model/@elements.0">
<sourceLabel name="1"/>
<targetLabel name="1..*"/>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="subrst" outgoingRelations="//@framedModel/@elements.1/@model/@elements.4" type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0" source="//@framedModel/@elements.1/@model/@elements.1">
<sourceLabel name="*"/>
<targetLabel name="0..1"/>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="RelationshipExclusion" target="//@framedModel/@elements.1/@model/@elements.2" source="//@framedModel/@elements.1/@model/@elements.3"/>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment" target="//@framedModel/@elements.1" source="//@framedModel/@elements.0" referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1"/>
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:NaturalType" name="NT"/>
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="roleType" incoming="//@cromModel/@elements.1/@relationships.1" outgoing="//@cromModel/@elements.1/@relationships.0"/>
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="roleType1" incoming="//@cromModel/@elements.1/@relationships.0" outgoing="//@cromModel/@elements.1/@relationships.1"/>
</parts>
<relationships name="rst">
<first lower="1" upper="1" holder="//@cromModel/@elements.1/@parts.0/@role"/>
<second lower="1" holder="//@cromModel/@elements.1/@parts.1/@role"/>
</relationships>
<relationships name="subrst">
<first holder="//@cromModel/@elements.1/@parts.1/@role"/>
<second upper="1" holder="//@cromModel/@elements.1/@parts.0/@role"/>
</relationships>
<constraints xsi:type="crom_l1_composed:RelationshipExclusion" first="//@cromModel/@elements.1/@relationships.1" second="//@cromModel/@elements.1/@relationships.0"/>
</elements>
<relations xsi:type="crom_l1_composed:Fulfillment" filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0"/>
<relations xsi:type="crom_l1_composed:Fulfillment" filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0"/>
</cromModel>
</ts:TestCase>
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
title="Simple TestCase for RelationshipImplications" description="Simple TestCase for RelationshipImplications">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="NT" outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
<firstSegment/>
<secondSegment/>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT" incomingRelations="//@framedModel/@elements.2">
<firstSegment/>
<secondSegment/>
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="roleType" incomingRelations="//@framedModel/@elements.1/@model/@elements.3" outgoingRelations="//@framedModel/@elements.1/@model/@elements.2" type="RoleType">
<firstSegment/>
<secondSegment/>
<description name="*"/>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="roleType1" incomingRelations="//@framedModel/@elements.1/@model/@elements.2" outgoingRelations="//@framedModel/@elements.1/@model/@elements.3" type="RoleType">
<firstSegment/>
<secondSegment/>
<description name="*"/>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst" incomingRelations="//@framedModel/@elements.1/@model/@elements.4" type="Relationship" target="//@framedModel/@elements.1/@model/@elements.1" source="//@framedModel/@elements.1/@model/@elements.0">
<sourceLabel name="1"/>
<targetLabel name="1..*"/>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="subrst" outgoingRelations="//@framedModel/@elements.1/@model/@elements.4" type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0" source="//@framedModel/@elements.1/@model/@elements.1">
<sourceLabel name="*"/>
<targetLabel name="0..1"/>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="RelationshipImplication" target="//@framedModel/@elements.1/@model/@elements.2" source="//@framedModel/@elements.1/@model/@elements.3"/>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment" target="//@framedModel/@elements.1" source="//@framedModel/@elements.0" referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1"/>
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:NaturalType" name="NT"/>
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="roleType" incoming="//@cromModel/@elements.1/@relationships.1" outgoing="//@cromModel/@elements.1/@relationships.0"/>
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="roleType1" incoming="//@cromModel/@elements.1/@relationships.0" outgoing="//@cromModel/@elements.1/@relationships.1"/>
</parts>
<relationships name="rst">
<first lower="1" upper="1" holder="//@cromModel/@elements.1/@parts.0/@role"/>
<second lower="1" holder="//@cromModel/@elements.1/@parts.1/@role"/>
</relationships>
<relationships name="subrst">
<first holder="//@cromModel/@elements.1/@parts.1/@role"/>
<second upper="1" holder="//@cromModel/@elements.1/@parts.0/@role"/>
</relationships>
<constraints xsi:type="crom_l1_composed:RelationshipImplication" first="//@cromModel/@elements.1/@relationships.1" second="//@cromModel/@elements.1/@relationships.0"/>
</elements>
<relations xsi:type="crom_l1_composed:Fulfillment" filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0"/>
<relations xsi:type="crom_l1_composed:Fulfillment" filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0"/>
</cromModel>
</ts:TestCase>
#!/usr/bin/env python
#FRaMED testcase generator for (n)-relationships and relationship constraints.
#
#This generator creates testcases for (n)-relationships or testcases for (n)-relationships with all possible combinations of constraints (unregarded impossible constraint combination, e.g. cyclic - acyclic). The generator will create a new folder (Relationship or RelationshipConstraint) in which all testcases (relationship_test_n/relationshipconstraint_test_n) are created. It is called by cmd/terminal with:
# "python TestGenerator.py n" (Create testcases for n-relationships)
# "python TestGenerator.py n true" (Create testcases for n-relationships with all possible constraint combinations)
import sys, os, itertools
__author__ = "Duc Dung Dam"
__date__ = "24/04/16"
__version__ = "1.0"
__maintainer__ = "Duc Dung Dam"
__email__ = "dung.dam_duc@tu-dresden.de"
__status__ = "Prototype"
types = ['RoleType']
constraints = ['Irreflexive', 'Reflexive', 'Cyclic', 'Acyclic', 'Total']
def write(filename, content, mode):
#0 = create relationship tests
#1 = create relationshipconstraint tests
if mode == 0:
path = os.path.dirname(os.path.realpath(__file__))+"/Relationship";
if not os.path.exists(path):
os.mkdir(path)
dirPath = "Relationship/"
if mode == 1:
path = os.path.dirname(os.path.realpath(__file__))+"/RelationshipConstraint";
if not os.path.exists(path):
os.mkdir(path)
dirPath = "RelationshipConstraint/"
filename += '.xmi'
try:
file = open(dirPath+filename, "w")
file.write(content)
file.close()
except:
sys.exit(0)
def createRelationshipTestcases(n):
print "createRelationshipTestcases"
for x in types:
for y in range(1, n+1):
content = framedModel = cromModel = ''
#Header
filename = 'relationship_test_'+str(y)
description = "TestCase for "+ str(y) +" relationship(s) between two " + x + "(s)"
title = "TestCase for "+ str(y) +" relationship(s)"
header = ('<?xml version="1.0" encoding="ASCII"?>\n'
'<ts:TestCase\n'
'\txmi:version=\"2.0"\n'
'\txmlns:xmi="http://www.omg.org/XMI"\n'
'\txmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n'
'\txmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"\n'
'\txmlns:org.framed.orm.model="http://orm/1.0"\n'
'\txmlns:ts="http://org.framed/testmodel"\n'
'\ttitle="'+title+'"\n'
'\tdescription="'+description+'">\n')
content += header
print filename
#FramedModel
framedModel += ('\t<framedModel>\n'
'\t\t<elements\n'
'\t\t\txsi:type="org.framed.orm.model:Shape"\n'
'\t\t\tname="Test">\n'
'\t\t\t<model>\n')
#FramedModel - Elements
#FramedModel - Elements - Loop for outgoingRelations/incomingRelations
framedRelations = ''
for z in range (0, y):
framedRelations += '//@framedModel/@elements.0/@model/@elements.'+str(z+2)+' '
framedRelations = framedRelations[:-1]
framedModel += ('\t\t\t\t<elements\n'
'\t\t\t\t\txsi:type="org.framed.orm.model:Shape"\n'
'\t\t\t\t\tname="RoleType1"\n'
'\t\t\t\t\toutgoingRelations="')
framedModel += framedRelations
framedModel += '"\n\t\t\t\t\ttype="'+ x +'"/>\n'
framedModel += ('\t\t\t\t<elements\n'
'\t\t\t\t\txsi:type="org.framed.orm.model:Shape"\n'
'\t\t\t\t\tname="RoleType2"\n'
'\t\t\t\t\tincomingRelations="')
framedModel += framedRelations
framedModel += '\"\n\t\t\t\t\ttype=\"'+ x +'\"/>\n'
#FramedModel - Relations
for z in range (0, y):
framedModel += ('\t\t\t\t<elements\n'
'\t\t\t\t\txsi:type="org.framed.orm.model:Relation"\n'
'\t\t\t\t\tname="testRelation_'+str(z)+'"\n'
'\t\t\t\t\ttype="Relationship"\n'
'\t\t\t\t\ttarget="//@framedModel/@elements.0/@model/@elements.1"\n'
'\t\t\t\t\tsource="//@framedModel/@elements.0/@model/@elements.0"/>\n')
framedModel += ('\t\t\t</model>\n'
'\t\t</elements>\n'
'\t</framedModel>\n')
content += framedModel
#CromModel
cromModel += ('\t<cromModel>\n'
'\t\t<elements\n'
'\t\t\txsi:type="crom_l1_composed:CompartmentType"\n'
'\t\t\tname="Test">\n')
#CromModel - Elements
#CromModel - Elements - Loop for outgoingRelations/incomingRelations
cromRelations = ''
for z in range (0, y):
cromRelations += '//@cromModel/@elements.0/@relationships.'+str(z)+' '
cromRelations = cromRelations[:-1]
cromModel += ('\t\t\t<parts>\n'
'\t\t\t\t<role\n'
'\t\t\t\txsi:type="crom_l1_composed:'+ x +'"\n'
'\t\t\t\tname="RoleType1"\n'
'\t\t\t\toutgoing=\"')
cromModel += cromRelations
cromModel += ('"/>\n'
'\t\t\t</parts>\n')
cromModel += ('\t\t\t<parts>\n'
'\t\t\t\t<role\n'
'\t\t\t\t\txsi:type="crom_l1_composed:'+ x +'"\n'
'\t\t\t\t\tname="RoleType2"\n'
'\t\t\t\t\tincoming="')
cromModel += cromRelations
cromModel += ('"/>\n'
'\t\t\t</parts>\n')
#CromModel - Relations
for z in xrange(0, y):
cromModel += '\t\t\t<relationships name=\"testRelation_'+ str(z) +'\"/>\n'
cromModel += ('\t\t</elements>\n'
'\t</cromModel>\n')
content += cromModel
#Footer
footer = "</ts:TestCase>"
content += footer
write(filename, content, 0)
def createRelationshipConstraintsTestcases(n):
print "createRelationshipConstraintsTestcases"
#Generate all possible combinations of constraints for n relationships
cons = []
for y in range(1,len(constraints)+1):
cons.extend(itertools.combinations(constraints, y))
cons_combinations = []
for n_relationship in range(1, n+1):
cons_combinations.extend(itertools.product(cons, repeat = n_relationship))
#Start generate testcase
counter = 1
for tupel_constraint in cons_combinations:
#print "testcase with " + str(len(tupel_constraint)) + " relationship(s) and " + str(tupel_constraint) + " constraint(s)"
#Init
content = framedModel = cromModel = ''
#Create all elements for FramedModel and CromModel
framedRelations = framedRelationships = framedConstraints = ''
cromRelations = cromRelationships = cromConstraints = ''
framedElementsCounter = 2 #2 because elements.0 and elements.1 are Roletypes
relationshipCounter = 0
framedElementsConstraintCounter = framedElementsCounter+len(tupel_constraint)
for constraint in tupel_constraint:
#outgoing/incoming relations
#framedModel
framedRelations += '//@framedModel/@elements.0/@model/@elements.'+str(framedElementsCounter)+" "
#cromModel
cromRelations += '//@cromModel/@elements.0/@relationships.'+str(relationshipCounter)+" "
#constraint elements
referencedRelation = 'referencedRelation="'
for element_constraint in constraint:
#framedModel
framedConstraints += ('\t\t\t\t<elements\n'
'\t\t\t\t\txsi:type="org.framed.orm.model:Relation"\n'
'\t\t\t\t\tname="'+element_constraint+'" type="'+element_constraint+'"\n'
'\t\t\t\t\ttarget="//@framedModel/@elements.0/@model/@elements.1"\n'
'\t\t\t\t\tsource="//@framedModel/@elements.0/@model/@elements.0"\n'
'\t\t\t\t\treferencedRelation="//@framedModel/@elements.0/@model/@elements.'+str(framedElementsCounter)+'"/>\n')
referencedRelation += '//@framedModel/@elements.0/@model/@elements.'+str(framedElementsConstraintCounter)+' '
framedElementsConstraintCounter += 1
#cromModel
cromConstraints += ('\t\t\t\t<constraints\n'
'\t\t\t\t\txsi:type="crom_l1_composed:'+element_constraint+'"\n'
'\t\t\t\t\trelation="//@cromModel/@elements.0/@relationships.'+str(relationshipCounter)+'"/>\n')
referencedRelation = referencedRelation[:-1]+'"'
#relationship elements
#framedModel
framedRelationships += ('\t\t\t\t<elements\n'
'\t\t\t\t\txsi:type="org.framed.orm.model:Relation"\n'
'\t\t\t\t\tname="testRelation_' +str(relationshipCounter)+ '"\n'
'\t\t\t\t\ttype="Relationship"\n'
'\t\t\t\t\ttarget="//@framedModel/@elements.0/@model/@elements.1"\n'
'\t\t\t\t\tsource="//@framedModel/@elements.0/@model/@elements.0"\n'
'\t\t\t\t\t'+referencedRelation+'/>\n')
#cromModel
cromRelationships += ('\t\t\t\t<relationships name="testRelation_'+str(relationshipCounter)+'"/>\n')
framedElementsCounter += 1
relationshipCounter += 1
#Header
filename = 'relationshipconstraint_test_'+str(counter)
description = "TestCase for "+ str(len(tupel_constraint)) +" relationship(s) with constraints "+ str(tupel_constraint) +" between two " + types[0]
title = "TestCase for "+ str(len(tupel_constraint)) +" relationship(s) with constraints "+ str(tupel_constraint)
header = ("<?xml version=\"1.0\" encoding=\"ASCII\"?>\n"
"<ts:TestCase\n"
"\txmi:version=\"2.0\"\n"
"\txmlns:xmi=\"http://www.omg.org/XMI\"\n"
"\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
"\txmlns:crom_l1_composed=\"platform:/resource/org.rosi.crom.metamodel/\"\n"
"\txmlns:org.framed.orm.model=\"http://orm/1.0\"\n"
"\txmlns:ts=\"http://org.framed/testmodel\"\n"
"\ttitle=\""+title+"\"\n"
"\tdescription=\""+description+"\">\n")
content += header
#FramedModel
#Header
framedModel += '\t<framedModel>\n'
#Content
framedModel += ('\t\t<elements\n'
'\t\t\txsi:type="org.framed.orm.model:Shape"\n'
'\t\t\tname="Test">\n'
'\t\t\t<model>\n'
#Roletype1
'\t\t\t\t<elements\n'
'\t\t\t\t\t\txsi:type="org.framed.orm.model:Shape"\n'
'\t\t\t\t\t\tname="'+types[0]+'1"\n'
'\t\t\t\t\t\toutgoingRelations="'+framedRelations+'"\n'
'\t\t\t\t\t\ttype="RoleType"/>\n'
#Roletype2
'\t\t\t\t<elements\n'
'\t\t\t\t\t\txsi:type="org.framed.orm.model:Shape"\n'
'\t\t\t\t\t\tname="'+types[0]+'2"\n'
'\t\t\t\t\t\tincomingRelations="'+framedRelations+'"\n'
'\t\t\t\t\t\ttype="RoleType"/>\n')
#Relationships
framedModel += framedRelationships
#Constraints
framedModel += framedConstraints
#Footer
framedModel += ('\t\t\t</model>\n'
'\t\t</elements>\n'
'\t</framedModel>\n')
content += framedModel
#CromModel
#Header
cromModel += '\t<cromModel>\n'
#Content
cromModel += ('\t\t<elements\n'
'\t\t\txsi:type="crom_l1_composed:CompartmentType"\n'
'\t\t\tname="Test">\n'
#Roletype1
'\t\t\t<parts>\n'
'\t\t\t\t<role\n'
'\t\t\t\t\txsi:type="crom_l1_composed:RoleType"\n'
'\t\t\t\t\tname="RoleType1"\n'
'\t\t\t\t\toutgoing="'+cromRelations+'"/>\n'
'\t\t\t</parts>\n'
#Roletype2
'\t\t\t<parts>\n'
'\t\t\t\t<role\n'
'\t\t\t\t\txsi:type="crom_l1_composed:RoleType"\n'
'\t\t\t\t\tname="RoleType2"\n'
'\t\t\t\t\tincoming="'+cromRelations+'"/>\n'
'\t\t\t</parts>\n')
#Relationships
cromModel += cromRelationships
#Constraints
cromModel += cromConstraints
#Footer
cromModel += ('\t\t</elements>\n'
'\t</cromModel>\n')
content += cromModel
#Footer
footer = "</ts:TestCase>"
content += footer
write(filename, content, 1)
counter += 1
def init():
print "Generating Testcases:"
if sys.argv is not None:
#python TestGenerator (int)n (creates testcases from 1 to n relationships)
if len(sys.argv) == 2:
createRelationshipTestcases(int(sys.argv[1]))
#python TestGenerator (int)n (bool)true (creates testcases from 1 to n relationships with all possible constraint combinations)
if len(sys.argv) == 3 and bool(sys.argv[2]) is True:
createRelationshipConstraintsTestcases(int(sys.argv[1]))
else:
createRelationshipTestcases(1)
init()
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
title="TestCase for 3 relationship(s) with constraints (('Irreflexive', 'Reflexive', 'Cyclic', 'Acyclic', 'Total'), ('Irreflexive', 'Reflexive', 'Cyclic', 'Acyclic', 'Total'), ('Irreflexive', 'Reflexive', 'Cyclic', 'Acyclic', 'Total'))"
description="TestCase for 3 relationship(s) with constraints (('Irreflexive', 'Reflexive', 'Cyclic', 'Acyclic', 'Total'), ('Irreflexive', 'Reflexive', 'Cyclic', 'Acyclic', 'Total'), ('Irreflexive', 'Reflexive', 'Cyclic', 'Acyclic', 'Total')) between two RoleType">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
<firstSegment />
<secondSegment />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
incomingRelations="//@framedModel/@elements.2">
<firstSegment />
<secondSegment />
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
incomingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4 //@framedModel/@elements.1/@model/@elements.5 //@framedModel/@elements.1/@model/@elements.6 //@framedModel/@elements.1/@model/@elements.7 //@framedModel/@elements.1/@model/@elements.8 //@framedModel/@elements.1/@model/@elements.9 //@framedModel/@elements.1/@model/@elements.10 //@framedModel/@elements.1/@model/@elements.11 //@framedModel/@elements.1/@model/@elements.12 //@framedModel/@elements.1/@model/@elements.13 //@framedModel/@elements.1/@model/@elements.14 //@framedModel/@elements.1/@model/@elements.15 //@framedModel/@elements.1/@model/@elements.16 //@framedModel/@elements.1/@model/@elements.17 //@framedModel/@elements.1/@model/@elements.18 //@framedModel/@elements.1/@model/@elements.19"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
outgoingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4 //@framedModel/@elements.1/@model/@elements.5 //@framedModel/@elements.1/@model/@elements.6 //@framedModel/@elements.1/@model/@elements.7 //@framedModel/@elements.1/@model/@elements.8 //@framedModel/@elements.1/@model/@elements.9 //@framedModel/@elements.1/@model/@elements.10 //@framedModel/@elements.1/@model/@elements.11 //@framedModel/@elements.1/@model/@elements.12 //@framedModel/@elements.1/@model/@elements.13 //@framedModel/@elements.1/@model/@elements.14 //@framedModel/@elements.1/@model/@elements.15 //@framedModel/@elements.1/@model/@elements.16 //@framedModel/@elements.1/@model/@elements.17 //@framedModel/@elements.1/@model/@elements.18 //@framedModel/@elements.1/@model/@elements.19"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4 //@framedModel/@elements.1/@model/@elements.8 //@framedModel/@elements.1/@model/@elements.9 //@framedModel/@elements.1/@model/@elements.10">
<sourceLabel name="*" />
<targetLabel name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Irreflexive"
type="Irreflexive" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Acyclic"
type="Acyclic" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst2"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.7 //@framedModel/@elements.1/@model/@elements.11 //@framedModel/@elements.1/@model/@elements.12 //@framedModel/@elements.1/@model/@elements.13 //@framedModel/@elements.1/@model/@elements.14">
<sourceLabel name="*" />
<targetLabel name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst3"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.15 //@framedModel/@elements.1/@model/@elements.16 //@framedModel/@elements.1/@model/@elements.17 //@framedModel/@elements.1/@model/@elements.18 //@framedModel/@elements.1/@model/@elements.19">
<sourceLabel name="*" />
<targetLabel name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Irreflexive"
type="Irreflexive" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.5">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Reflexive"
type="Reflexive" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Total"
type="Total" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Cyclic"
type="Cyclic" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Reflexive"
type="Reflexive" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.5">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Total"
type="Total" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.5">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Cyclic"
type="Cyclic" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.5">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Acyclic"
type="Acyclic" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.5">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Reflexive"
type="Reflexive" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.6">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Irreflexive"
type="Irreflexive" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.6">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Total"
type="Total" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.6">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Cyclic"
type="Cyclic" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.6">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Acyclic"
type="Acyclic" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.6">
</elements>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1"
incoming="//@cromModel/@elements.1/@relationships.0 //@cromModel/@elements.1/@relationships.1 //@cromModel/@elements.1/@relationships.2" />
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2"
outgoing="//@cromModel/@elements.1/@relationships.0 //@cromModel/@elements.1/@relationships.1 //@cromModel/@elements.1/@relationships.2" />
</parts>
<relationships name="rst">
<first holder="//@cromModel/@elements.1/@parts.1/@role" />
<second holder="//@cromModel/@elements.1/@parts.0/@role" />
</relationships>
<relationships name="rst2">
<first holder="//@cromModel/@elements.1/@parts.1/@role" />
<second holder="//@cromModel/@elements.1/@parts.0/@role" />
</relationships>
<relationships name="rst3">
<first holder="//@cromModel/@elements.1/@parts.1/@role" />
<second holder="//@cromModel/@elements.1/@parts.0/@role" />
</relationships>
<constraints xsi:type="crom_l1_composed:Irreflexive"
relation="//@cromModel/@elements.1/@relationships.0" />
<constraints xsi:type="crom_l1_composed:Acyclic"
relation="//@cromModel/@elements.1/@relationships.0" />
<constraints xsi:type="crom_l1_composed:Irreflexive"
relation="//@cromModel/@elements.1/@relationships.1" />
<constraints xsi:type="crom_l1_composed:Reflexive"
relation="//@cromModel/@elements.1/@relationships.0" />
<constraints xsi:type="crom_l1_composed:Total"
relation="//@cromModel/@elements.1/@relationships.0" />
<constraints xsi:type="crom_l1_composed:Cyclic"
relation="//@cromModel/@elements.1/@relationships.0" />
<constraints xsi:type="crom_l1_composed:Reflexive"
relation="//@cromModel/@elements.1/@relationships.1" />
<constraints xsi:type="crom_l1_composed:Total"
relation="//@cromModel/@elements.1/@relationships.1" />
<constraints xsi:type="crom_l1_composed:Cyclic"
relation="//@cromModel/@elements.1/@relationships.1" />
<constraints xsi:type="crom_l1_composed:Acyclic"
relation="//@cromModel/@elements.1/@relationships.1" />
<constraints xsi:type="crom_l1_composed:Reflexive"
relation="//@cromModel/@elements.1/@relationships.2" />
<constraints xsi:type="crom_l1_composed:Irreflexive"
relation="//@cromModel/@elements.1/@relationships.2" />
<constraints xsi:type="crom_l1_composed:Total"
relation="//@cromModel/@elements.1/@relationships.2" />
<constraints xsi:type="crom_l1_composed:Cyclic"
relation="//@cromModel/@elements.1/@relationships.2" />
<constraints xsi:type="crom_l1_composed:Acyclic"
relation="//@cromModel/@elements.1/@relationships.2" />
</elements>
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
</cromModel>
</ts:TestCase>
\ No newline at end of file
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
title="TestCase for 1 relationship(s) with constraint"
description="TestCase for 1 relationship(s) with constraint between two RoleType(s)">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
<firstSegment />
<secondSegment />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
incomingRelations="//@framedModel/@elements.2">
<firstSegment />
<secondSegment />
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
incomingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4 //@framedModel/@elements.1/@model/@elements.5"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
outgoingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4 //@framedModel/@elements.1/@model/@elements.5"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4 //@framedModel/@elements.1/@model/@elements.5">
<sourceLabel name="*" />
<targetLabel name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Irreflexive"
type="Irreflexive" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Total"
type="Total" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Acyclic"
type="Acyclic" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1"
incoming="//@cromModel/@elements.1/@relationships.0" />
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2"
outgoing="//@cromModel/@elements.1/@relationships.0" />
</parts>
<relationships name="rst">
<first holder="//@cromModel/@elements.1/@parts.1/@role" />
<second holder="//@cromModel/@elements.1/@parts.0/@role" />
</relationships>
<constraints xsi:type="crom_l1_composed:Irreflexive"
relation="//@cromModel/@elements.1/@relationships.0" />
<constraints xsi:type="crom_l1_composed:Total"
relation="//@cromModel/@elements.1/@relationships.0" />
<constraints xsi:type="crom_l1_composed:Acyclic"
relation="//@cromModel/@elements.1/@relationships.0" />
</elements>
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
</cromModel>
</ts:TestCase>
\ No newline at end of file
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="TestCase for 1 relationship(s)"
description="TestCase for 1 relationship(s) between two RoleType(s)">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
<firstSegment />
<secondSegment />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
incomingRelations="//@framedModel/@elements.2">
<firstSegment />
<secondSegment />
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
incomingRelations="//@framedModel/@elements.1/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
outgoingRelations="//@framedModel/@elements.1/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1">
<sourceLabel name="*" />
<targetLabel name="*" />
</elements>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1"
incoming="//@cromModel/@elements.1/@relationships.0" />
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2"
outgoing="//@cromModel/@elements.1/@relationships.0" />
</parts>
<relationships name="rst">
<first holder="//@cromModel/@elements.1/@parts.1/@role" />
<second holder="//@cromModel/@elements.1/@parts.0/@role" />
</relationships>
</elements>
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
</cromModel>
</ts:TestCase>
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="TestCase for 2 relationship(s)"
description="TestCase for 2 relationship(s) between two RoleType(s)">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
<firstSegment />
<secondSegment />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
incomingRelations="//@framedModel/@elements.2">
<firstSegment />
<secondSegment />
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
incomingRelations="//@framedModel/@elements.1/@model/@elements.3"
outgoingRelations="//@framedModel/@elements.1/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
incomingRelations="//@framedModel/@elements.1/@model/@elements.2"
outgoingRelations="//@framedModel/@elements.1/@model/@elements.3"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.1"
source="//@framedModel/@elements.1/@model/@elements.0">
<sourceLabel name="1" />
<targetLabel name="1..*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="subrst"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1">
<sourceLabel name="*" />
<targetLabel name="0..1" />
</elements>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1"
incoming="//@cromModel/@elements.1/@relationships.1" outgoing="//@cromModel/@elements.1/@relationships.0" />
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2"
incoming="//@cromModel/@elements.1/@relationships.0" outgoing="//@cromModel/@elements.1/@relationships.1" />
</parts>
<relationships name="rst">
<first lower="1" upper="1"
holder="//@cromModel/@elements.1/@parts.0/@role" />
<second lower="1" holder="//@cromModel/@elements.1/@parts.1/@role" />
</relationships>
<relationships name="subrst">
<first holder="//@cromModel/@elements.1/@parts.1/@role" />
<second upper="1" holder="//@cromModel/@elements.1/@parts.0/@role" />
</relationships>
</elements>
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
</cromModel>
</ts:TestCase>
\ No newline at end of file
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="TestCase for cyclic,total relationships"
description="TestCase for cyclic,total relationships where one RoleType is referenced by a cyclic,total relationship to another RoleType">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
<firstSegment />
<secondSegment />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
incomingRelations="//@framedModel/@elements.2">
<firstSegment />
<secondSegment />
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
incomingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
outgoingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4">
<sourceLabel name="*" />
<targetLabel name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Irreflexive"
type="Irreflexive" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="Total"
type="Total" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
</elements>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1"
incoming="//@cromModel/@elements.1/@relationships.0" />
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2"
outgoing="//@cromModel/@elements.1/@relationships.0" />
</parts>
<relationships name="rst">
<first holder="//@cromModel/@elements.1/@parts.1/@role" />
<second holder="//@cromModel/@elements.1/@parts.0/@role" />
</relationships>
<constraints xsi:type="crom_l1_composed:Irreflexive"
relation="//@cromModel/@elements.1/@relationships.0" />
<constraints xsi:type="crom_l1_composed:Total"
relation="//@cromModel/@elements.1/@relationships.0" />
</elements>
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
</cromModel>
</ts:TestCase>
\ No newline at end of file
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="TestCase for Relationship Cardinality (1)"
description="TestCase for Relationship Cardinality (1) (2)">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT">
<firstSegment />
<secondSegment />
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
incomingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
outgoingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
type="Relationship" target="//@framedModel/@elements.0/@model/@elements.0"
source="//@framedModel/@elements.0/@model/@elements.1">
<sourceLabel name="1" />
<targetLabel name="2" />
</elements>
</model>
</elements>
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1"
incoming="//@cromModel/@elements.0/@relationships.0" />
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2"
outgoing="//@cromModel/@elements.0/@relationships.0" />
</parts>
<relationships name="rst">
<first lower="1" upper="1" holder="//@cromModel/@elements.0/@parts.1/@role" />
<second lower="2" upper="2" holder="//@cromModel/@elements.0/@parts.0/@role" />
</relationships>
</elements>
</cromModel>
</ts:TestCase>
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="TestCase for Relationship Cardinality (1..2)"
description="TestCase for Relationship Cardinality (1..2) (2..3)">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT">
<firstSegment />
<secondSegment />
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
incomingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
outgoingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
type="Relationship" target="//@framedModel/@elements.0/@model/@elements.0"
source="//@framedModel/@elements.0/@model/@elements.1">
<sourceLabel name="1..2" />
<targetLabel name="3..4" />
</elements>
</model>
</elements>
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1"
incoming="//@cromModel/@elements.0/@relationships.0" />
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2"
outgoing="//@cromModel/@elements.0/@relationships.0" />
</parts>
<relationships name="rst">
<first lower="1" upper="2" holder="//@cromModel/@elements.0/@parts.1/@role" />
<second lower="3" upper="4" holder="//@cromModel/@elements.0/@parts.0/@role" />
</relationships>
</elements>
</cromModel>
</ts:TestCase>
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="TestCase for Relationship Cardinality (1..*)"
description="TestCase for Relationship Cardinality (1..*) (2..*)">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="CT">
<firstSegment />
<secondSegment />
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
incomingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
outgoingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType">
<firstSegment />
<secondSegment />
<description name="*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
type="Relationship" target="//@framedModel/@elements.0/@model/@elements.0"
source="//@framedModel/@elements.0/@model/@elements.1">
<sourceLabel name="1..*" />
<targetLabel name="2..*" />
</elements>
</model>
</elements>
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1"
incoming="//@cromModel/@elements.0/@relationships.0" />
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2"
outgoing="//@cromModel/@elements.0/@relationships.0" />
</parts>
<relationships name="rst">
<first lower="1" holder="//@cromModel/@elements.0/@parts.1/@role" />
<second lower="2" holder="//@cromModel/@elements.0/@parts.0/@role" />
</relationships>
</elements>
</cromModel>
</ts:TestCase>
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="Simple TestCase for RoleImplications"
description="Simple TestCase for RoleImplications">
<framedModel>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="compType1">
<model>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="roleType1"
outgoingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType"/>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="roleType2"
incomingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType"/>
<elements
xsi:type="org.framed.iorm.model:Relation"
name=""
type="RoleEquivalence"
target="//@framedModel/@elements.0/@model/@elements.1"
source="//@framedModel/@elements.0/@model/@elements.0"/>
</model>
</elements>
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements
xsi:type="crom_l1_composed:CompartmentType"
name="compType1">
<parts>
<role
xsi:type="crom_l1_composed:RoleType"
name="roleType1"/>
</parts>
<parts>
<role
xsi:type="crom_l1_composed:RoleType"
name="roleType2"/>
</parts>
<constraints
xsi:type="crom_l1_composed:RoleEquivalence"
first="//@cromModel/@elements.0/@parts.0/@role"
second="//@cromModel/@elements.0/@parts.1/@role"/>
</elements>
</cromModel>
</ts:TestCase>
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="Simple TestCase for RoleImplications"
description="Simple TestCase for RoleImplications">
<framedModel>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="compType1">
<model>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="roleType1"
outgoingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType"/>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="roleType2"
incomingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType"/>
<elements
xsi:type="org.framed.iorm.model:Relation"
name=""
type="RoleImplication"
target="//@framedModel/@elements.0/@model/@elements.1"
source="//@framedModel/@elements.0/@model/@elements.0"/>
</model>
</elements>
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements
xsi:type="crom_l1_composed:CompartmentType"
name="compType1">
<parts>
<role
xsi:type="crom_l1_composed:RoleType"
name="roleType1"/>
</parts>
<parts>
<role
xsi:type="crom_l1_composed:RoleType"
name="roleType2"/>
</parts>
<constraints
xsi:type="crom_l1_composed:RoleImplication"
first="//@cromModel/@elements.0/@parts.0/@role"
second="//@cromModel/@elements.0/@parts.1/@role"/>
</elements>
</cromModel>
</ts:TestCase>
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0"
xmlns:ts="http://org.framed/testmodel"
title="Simple TestCase for RoleImplications"
description="Simple TestCase for RoleImplications">
<framedModel>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="compType1">
<model>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="roleType1"
outgoingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType"/>
<elements
xsi:type="org.framed.iorm.model:Shape"
name="roleType2"
incomingRelations="//@framedModel/@elements.0/@model/@elements.2"
type="RoleType"/>
<elements
xsi:type="org.framed.iorm.model:Relation"
name=""
type="RoleProhibition"
target="//@framedModel/@elements.0/@model/@elements.1"
source="//@framedModel/@elements.0/@model/@elements.0"/>
</model>
</elements>
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements
xsi:type="crom_l1_composed:CompartmentType"
name="compType1">
<parts>
<role
xsi:type="crom_l1_composed:RoleType"
name="roleType1"/>
</parts>
<parts>
<role
xsi:type="crom_l1_composed:RoleType"
name="roleType2"/>
</parts>
<constraints
xsi:type="crom_l1_composed:RoleProhibition"
first="//@cromModel/@elements.0/@parts.0/@role"
second="//@cromModel/@elements.0/@parts.1/@role"/>
</elements>
</cromModel>
</ts:TestCase>
<?xml version="1.0" encoding="ASCII"?>
<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
title="BankExample Test" description="BankExample Test">
<framedModel>
<elements xsi:type="org.framed.iorm.model:Shape" name="Person"
outgoingRelations="//@framedModel/@elements.11" type="NaturalType">
<firstSegment>
<elements name="title : String" />
<elements name="firstName : String" />
<elements name="lastName : String" />
<elements name="address : String" />
</firstSegment>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="Company"
outgoingRelations="//@framedModel/@elements.12" type="NaturalType">
<firstSegment>
<elements name="name : String" />
<elements name="legalForm : String" />
<elements name="addresses : String" />
<elements name="POBox : String" />
</firstSegment>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="Bank"
incomingRelations="//@framedModel/@elements.11 //@framedModel/@elements.12 //@framedModel/@elements.13 //@framedModel/@elements.15 //@framedModel/@elements.14">
<firstSegment>
<elements name="name : String" />
</firstSegment>
<secondSegment>
<elements name="executeTransactions()" />
</secondSegment>
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="Customer"
incomingRelations="//@framedModel/@elements.2/@model/@elements.2"
outgoingRelations="//@framedModel/@elements.2/@model/@elements.5 //@framedModel/@elements.2/@model/@elements.6"
type="RoleType">
<firstSegment>
<elements name="id : Integer" />
<elements name="name : String" />
</firstSegment>
<secondSegment>
<elements name="addSavingsAccount() : Boolean" />
<elements name="addCheckingsAccount() : Boolean" />
<elements name="getAccounts() : Integer" />
<elements name="getBalance(id : Integer) : Money" />
<elements name="transfer(from : Integer, to : Integer) : Boolean" />
<elements name="sendAccountStatement(id : Integer) : Boolean" />
</secondSegment>
<description name="0..*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="Consultant"
outgoingRelations="//@framedModel/@elements.2/@model/@elements.2"
type="RoleType">
<firstSegment>
<elements name="Phone : String" />
</firstSegment>
<secondSegment>
<elements name="consult(id : Integer)" />
</secondSegment>
<description name="1..*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="advices"
type="Relationship" target="//@framedModel/@elements.2/@model/@elements.0"
source="//@framedModel/@elements.2/@model/@elements.1">
<sourceLabel name="0..*" />
<targetLabel name="1..*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="Transaction"
type="RoleType">
<firstSegment>
<elements name="execution : DateTime" />
</firstSegment>
<secondSegment>
<elements name="execute() : Boolean" />
<elements name="isExecuted() : Boolean" />
</secondSegment>
<description name="0..*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="RoleGroup (1..1)"
type="RoleGroup">
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="CheckingsAccount"
incomingRelations="//@framedModel/@elements.2/@model/@elements.5"
type="RoleType">
<firstSegment>
<elements name="limit : Money" />
</firstSegment>
<secondSegment>
<elements name="decrease(amount : Money) " />
<elements name="getLimit() : Money" />
<elements name="setLimit(limit : Money) " />
</secondSegment>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="SavingsAccount"
incomingRelations="//@framedModel/@elements.2/@model/@elements.6"
type="RoleType">
<firstSegment>
<elements name="transactionFee:Double" />
</firstSegment>
<secondSegment>
<elements name="decrease(amount : Money) " />
</secondSegment>
</elements>
</model>
<description name="0..*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="own_ca"
type="Relationship"
target="//@framedModel/@elements.2/@model/@elements.4/@model/@elements.0"
source="//@framedModel/@elements.2/@model/@elements.0">
<sourceLabel name="1" />
<targetLabel name="0..*" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="own_sa"
type="Relationship"
target="//@framedModel/@elements.2/@model/@elements.4/@model/@elements.1"
source="//@framedModel/@elements.2/@model/@elements.0">
<sourceLabel name="1..*" />
<targetLabel name="0..*" />
</elements>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="String"
type="DataType" />
<elements xsi:type="org.framed.iorm.model:Shape" name="Transaction"
outgoingRelations="//@framedModel/@elements.13">
<firstSegment>
<elements name="creationtime : DateTime" />
<elements name="amount : Money" />
</firstSegment>
<secondSegment>
<elements name="bind(source:Account, target:Account):Boolean" />
<elements name="execute() : Boolean" />
</secondSegment>
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="RoleGroup (1..1)"
type="RoleGroup">
<model>
<elements xsi:type="org.framed.iorm.model:Shape" name="Source"
outgoingRelations="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.2 //@framedModel/@elements.4/@model/@elements.0/@model/@elements.3"
type="RoleType">
<secondSegment>
<elements name="withdraw(amount:Money)" />
</secondSegment>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="Target"
incomingRelations="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.2 //@framedModel/@elements.4/@model/@elements.0/@model/@elements.3"
type="RoleType">
<secondSegment>
<elements name="deposite(amount:Money)" />
</secondSegment>
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name="trans"
type="Relationship"
target="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.1"
source="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.0"
referencedRelation="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.3">
<sourceLabel name="1" />
<targetLabel name="1" />
</elements>
<elements xsi:type="org.framed.iorm.model:Relation" name=""
type="Irreflexive"
target="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.1"
source="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.0"
referencedRelation="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.2" />
</model>
<description name="2..2" />
</elements>
</model>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="Account"
outgoingRelations="//@framedModel/@elements.14 //@framedModel/@elements.15"
type="NaturalType">
<firstSegment>
<elements name="id : Integer" />
<elements name="balance : Money" />
</firstSegment>
<secondSegment>
<elements name="getBalance() : Money" />
<elements name="getId() : Integer" />
<elements name="increase(amount: Money)" />
<elements name="decrease(amount : Money)" />
</secondSegment>
</elements>
<elements xsi:type="org.framed.iorm.model:Shape" name="Integer"
type="DataType" />
<elements xsi:type="org.framed.iorm.model:Shape" name="Boolean"
type="DataType" />
<elements xsi:type="org.framed.iorm.model:Shape" name="Money"
type="DataType" />
<elements xsi:type="org.framed.iorm.model:Shape" name="Double"
type="DataType" />
<elements xsi:type="org.framed.iorm.model:Shape" name="DateTime"
type="DataType" />
<elements xsi:type="org.framed.iorm.model:Relation" name=""
type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.0"
referencedRoles="//@framedModel/@elements.2/@model/@elements.1 //@framedModel/@elements.2/@model/@elements.0" />
<elements xsi:type="org.framed.iorm.model:Relation" name=""
type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.1"
referencedRoles="//@framedModel/@elements.2/@model/@elements.0" />
<elements xsi:type="org.framed.iorm.model:Relation" name=""
type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.4"
referencedRoles="//@framedModel/@elements.2/@model/@elements.3" />
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.2" source="//@framedModel/@elements.5"
referencedRoles="//@framedModel/@elements.2/@model/@elements.4" />
<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.2" source="//@framedModel/@elements.5"
referencedRoles="//@framedModel/@elements.4/@model/@elements.0" />
<framedConfiguration>
<features/>
<features name="Role_Types"/>
<features name="Role_Structure"/>
<features name="Role_Properties" manuallySelected="true"/>
<features name="Role_Behavior"/>
<features name="Role_Inheritance" manuallySelected="true"/>
<features name="Playable"/>
<features name="Players"/>
<features name="Naturals"/>
<features name="Roles"/>
<features name="Compartments" manuallySelected="true"/>
<features name="Dates" manuallySelected="true"/>
<features name="Dependent"/>
<features name="On_Compartments"/>
<features name="On_Relationships"/>
<features name="Role_Constraints"/>
<features name="Role_Implication" manuallySelected="true"/>
<features name="Role_Prohibition" manuallySelected="true"/>
<features name="Role_Equivalence"/>
<features name="Group_Constraints" manuallySelected="true"/>
<features name="Occurrence_Constraints" manuallySelected="true"/>
<features name="Relationships"/>
<features name="Relationship_Constraints"/>
<features name="Relationship_Cardinality" manuallySelected="true"/>
<features name="Intra_Relationship_Constraints"/>
<features name="Parthood_Constraints" manuallySelected="true"/>
<features name="Inter_Relationship_Constraints" manuallySelected="true"/>
<features name="Compartment_Types"/>
<features name="Compartment_Structure"/>
<features name="Compartment_Properties" manuallySelected="true"/>
<features name="Compartment_Behavior"/>
<features name="Compartment_Inheritance" manuallySelected="true"/>
<features name="Participants"/>
<features name="Contains_Compartments" manuallySelected="true"/>
<features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
<features name="Data_Types"/>
<features name="Data_Type_Inheritance" manuallySelected="true"/>
</framedConfiguration>
</framedModel>
<cromModel>
<elements xsi:type="crom_l1_composed:NaturalType" name="Person">
<attributes name="title" type="//@cromModel/@elements.3" />
<attributes name="firstName" type="//@cromModel/@elements.3" />
<attributes name="lastName" type="//@cromModel/@elements.3" />
<attributes name="address" type="//@cromModel/@elements.3" />
</elements>
<elements xsi:type="crom_l1_composed:NaturalType" name="Company">
<attributes name="name" type="//@cromModel/@elements.3" />
<attributes name="legalForm" type="//@cromModel/@elements.3" />
<attributes name="addresses" type="//@cromModel/@elements.3" />
<attributes name="POBox" type="//@cromModel/@elements.3" />
</elements>
<elements xsi:type="crom_l1_composed:CompartmentType" name="Bank">
<attributes name="name" type="//@cromModel/@elements.3" />
<operations name="executeTransactions" />
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="Customer"
incoming="//@cromModel/@elements.2/@relationships.0"
outgoing="//@cromModel/@elements.2/@relationships.1 //@cromModel/@elements.2/@relationships.2">
<attributes name="id" type="//@cromModel/@elements.6" />
<attributes name="name" type="//@cromModel/@elements.3" />
<operations name="addSavingsAccount" type="//@cromModel/@elements.7" />
<operations name="addCheckingsAccount" type="//@cromModel/@elements.7" />
<operations name="getAccounts" type="//@cromModel/@elements.6" />
<operations name="getBalance" type="//@cromModel/@elements.8">
<params name="id" type="//@cromModel/@elements.6" />
</operations>
<operations name="transfer" type="//@cromModel/@elements.7">
<params name="from" type="//@cromModel/@elements.6" />
<params name="to" type="//@cromModel/@elements.6" />
</operations>
<operations name="sendAccountStatement" type="//@cromModel/@elements.7">
<params name="id" type="//@cromModel/@elements.6" />
</operations>
</role>
</parts>
<parts lower="1">
<role xsi:type="crom_l1_composed:RoleType" name="Consultant"
outgoing="//@cromModel/@elements.2/@relationships.0">
<attributes name="Phone" type="//@cromModel/@elements.3" />
<operations name="consult">
<params name="id" type="//@cromModel/@elements.6" />
</operations>
</role>
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleType" name="Transaction">
<attributes name="execution" type="//@cromModel/@elements.10" />
<operations name="execute" type="//@cromModel/@elements.7" />
<operations name="isExecuted" type="//@cromModel/@elements.7" />
</role>
</parts>
<parts>
<role xsi:type="crom_l1_composed:RoleGroup" name="RoleGroup"
lower="1" upper="1">
<elements xsi:type="crom_l1_composed:RoleType" name="CheckingsAccount"
incoming="//@cromModel/@elements.2/@relationships.1">
<attributes name="limit" type="//@cromModel/@elements.8" />
<operations name="decrease">
<params name="amount" type="//@cromModel/@elements.8" />
</operations>
<operations name="getLimit" type="//@cromModel/@elements.8" />
<operations name="setLimit">
<params name="limit" type="//@cromModel/@elements.8" />
</operations>
</elements>
<elements xsi:type="crom_l1_composed:RoleType" name="SavingsAccount"
incoming="//@cromModel/@elements.2/@relationships.2">
<attributes name="transactionFee" type="//@cromModel/@elements.9" />
<operations name="decrease">
<params name="amount" type="//@cromModel/@elements.8" />
</operations>
</elements>
</role>
</parts>
<relationships name="advices">
<first holder="//@cromModel/@elements.2/@parts.1/@role" />
<second lower="1" holder="//@cromModel/@elements.2/@parts.0/@role" />
</relationships>
<relationships name="own_ca">
<first lower="1" upper="1"
holder="//@cromModel/@elements.2/@parts.0/@role" />
<second holder="//@cromModel/@elements.2/@parts.3/@role/@elements.0" />
</relationships>
<relationships name="own_sa">
<first lower="1" holder="//@cromModel/@elements.2/@parts.0/@role" />
<second holder="//@cromModel/@elements.2/@parts.3/@role/@elements.1" />
</relationships>
</elements>
<elements xsi:type="crom_l1_composed:DataType" name="String" />
<elements xsi:type="crom_l1_composed:CompartmentType" name="Transaction">
<attributes name="creationtime" type="//@cromModel/@elements.10" />
<attributes name="amount" type="//@cromModel/@elements.8" />
<operations name="bind" type="//@cromModel/@elements.7">
<params name="source" type="//@cromModel/@elements.5" />
<params name="target" type="//@cromModel/@elements.5" />
</operations>
<operations name="execute" type="//@cromModel/@elements.7" />
<parts lower="2" upper="2">
<role xsi:type="crom_l1_composed:RoleGroup" name="RoleGroup"
lower="1" upper="1">
<elements xsi:type="crom_l1_composed:RoleType" name="Source"
outgoing="//@cromModel/@elements.4/@relationships.0">
<operations name="withdraw">
<params name="amount" type="//@cromModel/@elements.8" />
</operations>
</elements>
<elements xsi:type="crom_l1_composed:RoleType" name="Target"
incoming="//@cromModel/@elements.4/@relationships.0">
<operations name="deposite">
<params name="amount" type="//@cromModel/@elements.8" />
</operations>
</elements>
</role>
</parts>
<relationships name="trans">
<first lower="1" upper="1"
holder="//@cromModel/@elements.4/@parts.0/@role/@elements.0" />
<second lower="1" upper="1"
holder="//@cromModel/@elements.4/@parts.0/@role/@elements.1" />
</relationships>
<constraints xsi:type="crom_l1_composed:Irreflexive"
relation="//@cromModel/@elements.4/@relationships.0" />
</elements>
<elements xsi:type="crom_l1_composed:NaturalType" name="Account">
<attributes name="id" type="//@cromModel/@elements.6" />
<attributes name="balance" type="//@cromModel/@elements.8" />
<operations name="getBalance" type="//@cromModel/@elements.8" />
<operations name="getId" type="//@cromModel/@elements.6" />
<operations name="increase">
<params name="amount" type="//@cromModel/@elements.8" />
</operations>
<operations name="decrease">
<params name="amount" type="//@cromModel/@elements.8" />
</operations>
</elements>
<elements xsi:type="crom_l1_composed:DataType" name="Integer" />
<elements xsi:type="crom_l1_composed:DataType" name="Boolean" />
<elements xsi:type="crom_l1_composed:DataType" name="Money" />
<elements xsi:type="crom_l1_composed:DataType" name="Double" />
<elements xsi:type="crom_l1_composed:DataType" name="DateTime" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.2/@parts.1/@role" filler="//@cromModel/@elements.0" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.2/@parts.0/@role" filler="//@cromModel/@elements.0" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.2/@parts.0/@role" filler="//@cromModel/@elements.1" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.2/@parts.2/@role" filler="//@cromModel/@elements.4" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.2/@parts.3/@role" filler="//@cromModel/@elements.5" />
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.4/@parts.0/@role" filler="//@cromModel/@elements.5" />
</cromModel>
</ts:TestCase>
...@@ -15,52 +15,36 @@ ...@@ -15,52 +15,36 @@
<firstSegment /> <firstSegment />
<secondSegment /> <secondSegment />
<model> <model>
<elements xsi:type="org.framed.orm.model:Shape" name="RT1" <elements xsi:type="org.framed.iorm.model:Shape" name="NT" outgoingRelations="/1/@elements.2" type="NaturalType">
incomingRelations="//@framedModel/@elements.1/@model/@elements.6"
outgoingRelations="//@framedModel/@elements.1/@model/@elements.3"
type="RoleType">
<firstSegment/> <firstSegment/>
<secondSegment/> <secondSegment/>
<description name="*" />
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="RT2" <elements xsi:type="org.framed.iorm.model:Shape" name="CT" incomingRelations="/1/@elements.2">
incomingRelations="//@framedModel/@elements.1/@model/@elements.3" <firstSegment/>
outgoingRelations="//@framedModel/@elements.1/@model/@elements.6" <secondSegment/>
type="RoleType"> <model>
<elements xsi:type="org.framed.iorm.model:Shape" name="roleType" incomingRelations="/1/@elements.1/@model/@elements.3" outgoingRelations="/1/@elements.1/@model/@elements.2" type="RoleType">
<firstSegment/> <firstSegment/>
<secondSegment/> <secondSegment/>
<description name="*"/> <description name="*"/>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="" <elements xsi:type="org.framed.iorm.model:Shape" name="roleType1" incomingRelations="/1/@elements.1/@model/@elements.2" outgoingRelations="/1/@elements.1/@model/@elements.3" type="RoleType">
incomingRelations="//@framedModel/@elements.1/@model/@elements.8" <firstSegment/>
type="RelationshipShapeChild"> <secondSegment/>
<description name="*"/>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Relation" name="rst" <elements xsi:type="org.framed.iorm.model:Relation" name="rst" incomingRelations="/1/@elements.1/@model/@elements.4" type="Relationship" target="/1/@elements.1/@model/@elements.1" source="/1/@elements.1/@model/@elements.0">
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.1"
source="//@framedModel/@elements.1/@model/@elements.0"
connectionAnchor="//@framedModel/@elements.1/@model/@elements.2">
<sourceLabel name="1"/> <sourceLabel name="1"/>
<targetLabel name="1..*"/> <targetLabel name="1..*"/>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="" <elements xsi:type="org.framed.iorm.model:Relation" name="subrst" outgoingRelations="/1/@elements.1/@model/@elements.4" type="Relationship" target="/1/@elements.1/@model/@elements.0" source="/1/@elements.1/@model/@elements.1">
type="RelationshipShapeChild">
</elements>
<elements xsi:type="org.framed.orm.model:Shape" name=""
outgoingRelations="//@framedModel/@elements.1/@model/@elements.8"
type="RelationshipShapeChild">
</elements>
<elements xsi:type="org.framed.orm.model:Relation" name="subrst"
type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
source="//@framedModel/@elements.1/@model/@elements.1"
connectionAnchor="//@framedModel/@elements.1/@model/@elements.5">
<sourceLabel name="*"/> <sourceLabel name="*"/>
<targetLabel name="0..1"/> <targetLabel name="0..1"/>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="" <elements xsi:type="org.framed.iorm.model:Relation" type="RelationshipImplication" target="/1/@elements.1/@model/@elements.2" source="/1/@elements.1/@model/@elements.3"/>
type="RelationshipShapeChild"> </model>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Relation" type="RelationshipImplication" <elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment" target="/1/@elements.1" source="/1/@elements.0" referencedRoles="/1/@elements.1/@model/@elements.0 /1/@elements.1/@model/@elements.1"/>
target="//@framedModel/@elements.1/@model/@elements.2" source="//@framedModel/@elements.1/@model/@elements.5" />
</model> </model>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Relation" type="Fulfillment" <elements xsi:type="org.framed.orm.model:Relation" type="Fulfillment"
...@@ -110,28 +94,22 @@ ...@@ -110,28 +94,22 @@
<elements xsi:type="crom_l1_composed:NaturalType" name="NT"/> <elements xsi:type="crom_l1_composed:NaturalType" name="NT"/>
<elements xsi:type="crom_l1_composed:CompartmentType" name="CT"> <elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
<parts> <parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT1" <role xsi:type="crom_l1_composed:RoleType" name="roleType" incoming="//@elements.1/@relationships.1" outgoing="//@elements.1/@relationships.0"/>
incoming="//@cromModel/@elements.1/@relationships.1" outgoing="//@cromModel/@elements.1/@relationships.0" />
</parts> </parts>
<parts> <parts>
<role xsi:type="crom_l1_composed:RoleType" name="RT2" <role xsi:type="crom_l1_composed:RoleType" name="roleType1" incoming="//@elements.1/@relationships.0" outgoing="//@elements.1/@relationships.1"/>
incoming="//@cromModel/@elements.1/@relationships.0" outgoing="//@cromModel/@elements.1/@relationships.1" />
</parts> </parts>
<relationships name="rst"> <relationships name="rst">
<first lower="1" upper="1" <first lower="1" upper="1" holder="//@elements.1/@parts.0/@role"/>
holder="//@cromModel/@elements.1/@parts.0/@role" /> <second lower="1" holder="//@elements.1/@parts.1/@role"/>
<second lower="1" holder="//@cromModel/@elements.1/@parts.1/@role" />
</relationships> </relationships>
<relationships name="subrst"> <relationships name="subrst">
<first holder="//@cromModel/@elements.1/@parts.1/@role" /> <first holder="//@elements.1/@parts.1/@role"/>
<second upper="1" holder="//@cromModel/@elements.1/@parts.0/@role" /> <second upper="1" holder="//@elements.1/@parts.0/@role"/>
</relationships> </relationships>
<constraints xsi:type="crom_l1_composed:RelationshipImplication" <constraints xsi:type="crom_l1_composed:RelationshipImplication" first="//@elements.1/@relationships.1" second="//@elements.1/@relationships.0"/>
first="//@cromModel/@elements.1/@relationships.1" second="//@cromModel/@elements.1/@relationships.0" />
</elements> </elements>
<relations xsi:type="crom_l1_composed:Fulfillment" <relations xsi:type="crom_l1_composed:Fulfillment" filled="//@elements.1/@parts.0/@role" filler="//@elements.0"/>
filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" /> <relations xsi:type="crom_l1_composed:Fulfillment" filled="//@elements.1/@parts.1/@role" filler="//@elements.0"/>
<relations xsi:type="crom_l1_composed:Fulfillment"
filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
</cromModel> </cromModel>
</ts:TestCase> </ts:TestCase>
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" <ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/" xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
xmlns:org.framed.orm.model="http://orm/1.0" xmlns:ts="http://org.framed/testmodel" xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
title="BankExample Test" description="BankExample Test"> title="BankExample Test" description="BankExample Test">
<framedModel> <framedModel>
<elements xsi:type="org.framed.orm.model:Shape" name="Person" <elements xsi:type="org.framed.iorm.model:Shape" name="Person"
outgoingRelations="//@framedModel/@elements.11" type="NaturalType"> outgoingRelations="//@framedModel/@elements.11" type="NaturalType">
<firstSegment> <firstSegment>
<elements name="title : String" /> <elements name="title : String" />
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<elements name="address : String" /> <elements name="address : String" />
</firstSegment> </firstSegment>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="Company" <elements xsi:type="org.framed.iorm.model:Shape" name="Company"
outgoingRelations="//@framedModel/@elements.12" type="NaturalType"> outgoingRelations="//@framedModel/@elements.12" type="NaturalType">
<firstSegment> <firstSegment>
<elements name="name : String" /> <elements name="name : String" />
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<elements name="POBox : String" /> <elements name="POBox : String" />
</firstSegment> </firstSegment>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="Bank" <elements xsi:type="org.framed.iorm.model:Shape" name="Bank"
incomingRelations="//@framedModel/@elements.11 //@framedModel/@elements.12 //@framedModel/@elements.13 //@framedModel/@elements.15 //@framedModel/@elements.14"> incomingRelations="//@framedModel/@elements.11 //@framedModel/@elements.12 //@framedModel/@elements.13 //@framedModel/@elements.15 //@framedModel/@elements.14">
<firstSegment> <firstSegment>
<elements name="name : String" /> <elements name="name : String" />
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<elements name="executeTransactions()" /> <elements name="executeTransactions()" />
</secondSegment> </secondSegment>
<model> <model>
<elements xsi:type="org.framed.orm.model:Shape" name="Customer" <elements xsi:type="org.framed.iorm.model:Shape" name="Customer"
incomingRelations="//@framedModel/@elements.2/@model/@elements.2" incomingRelations="//@framedModel/@elements.2/@model/@elements.2"
outgoingRelations="//@framedModel/@elements.2/@model/@elements.5 //@framedModel/@elements.2/@model/@elements.6" outgoingRelations="//@framedModel/@elements.2/@model/@elements.5 //@framedModel/@elements.2/@model/@elements.6"
type="RoleType"> type="RoleType">
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</secondSegment> </secondSegment>
<description name="0..*" /> <description name="0..*" />
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="Consultant" <elements xsi:type="org.framed.iorm.model:Shape" name="Consultant"
outgoingRelations="//@framedModel/@elements.2/@model/@elements.2" outgoingRelations="//@framedModel/@elements.2/@model/@elements.2"
type="RoleType"> type="RoleType">
<firstSegment> <firstSegment>
...@@ -61,13 +61,13 @@ ...@@ -61,13 +61,13 @@
</secondSegment> </secondSegment>
<description name="1..*" /> <description name="1..*" />
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Relation" name="advices" <elements xsi:type="org.framed.iorm.model:Relation" name="advices"
type="Relationship" target="//@framedModel/@elements.2/@model/@elements.0" type="Relationship" target="//@framedModel/@elements.2/@model/@elements.0"
source="//@framedModel/@elements.2/@model/@elements.1"> source="//@framedModel/@elements.2/@model/@elements.1">
<sourceLabel name="0..*" /> <sourceLabel name="0..*" />
<targetLabel name="1..*" /> <targetLabel name="1..*" />
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="Transaction" <elements xsi:type="org.framed.iorm.model:Shape" name="Transaction"
type="RoleType"> type="RoleType">
<firstSegment> <firstSegment>
<elements name="execution : DateTime" /> <elements name="execution : DateTime" />
...@@ -78,10 +78,10 @@ ...@@ -78,10 +78,10 @@
</secondSegment> </secondSegment>
<description name="0..*" /> <description name="0..*" />
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="RoleGroup (1..1)" <elements xsi:type="org.framed.iorm.model:Shape" name="RoleGroup (1..1)"
type="RoleGroup"> type="RoleGroup">
<model> <model>
<elements xsi:type="org.framed.orm.model:Shape" name="CheckingsAccount" <elements xsi:type="org.framed.iorm.model:Shape" name="CheckingsAccount"
incomingRelations="//@framedModel/@elements.2/@model/@elements.5" incomingRelations="//@framedModel/@elements.2/@model/@elements.5"
type="RoleType"> type="RoleType">
<firstSegment> <firstSegment>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<elements name="setLimit(limit : Money) " /> <elements name="setLimit(limit : Money) " />
</secondSegment> </secondSegment>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="SavingsAccount" <elements xsi:type="org.framed.iorm.model:Shape" name="SavingsAccount"
incomingRelations="//@framedModel/@elements.2/@model/@elements.6" incomingRelations="//@framedModel/@elements.2/@model/@elements.6"
type="RoleType"> type="RoleType">
<firstSegment> <firstSegment>
...@@ -106,14 +106,14 @@ ...@@ -106,14 +106,14 @@
</model> </model>
<description name="0..*" /> <description name="0..*" />
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Relation" name="own_ca" <elements xsi:type="org.framed.iorm.model:Relation" name="own_ca"
type="Relationship" type="Relationship"
target="//@framedModel/@elements.2/@model/@elements.4/@model/@elements.0" target="//@framedModel/@elements.2/@model/@elements.4/@model/@elements.0"
source="//@framedModel/@elements.2/@model/@elements.0"> source="//@framedModel/@elements.2/@model/@elements.0">
<sourceLabel name="1" /> <sourceLabel name="1" />
<targetLabel name="0..*" /> <targetLabel name="0..*" />
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Relation" name="own_sa" <elements xsi:type="org.framed.iorm.model:Relation" name="own_sa"
type="Relationship" type="Relationship"
target="//@framedModel/@elements.2/@model/@elements.4/@model/@elements.1" target="//@framedModel/@elements.2/@model/@elements.4/@model/@elements.1"
source="//@framedModel/@elements.2/@model/@elements.0"> source="//@framedModel/@elements.2/@model/@elements.0">
...@@ -122,9 +122,9 @@ ...@@ -122,9 +122,9 @@
</elements> </elements>
</model> </model>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="String" <elements xsi:type="org.framed.iorm.model:Shape" name="String"
type="DataType" /> type="DataType" />
<elements xsi:type="org.framed.orm.model:Shape" name="Transaction" <elements xsi:type="org.framed.iorm.model:Shape" name="Transaction"
outgoingRelations="//@framedModel/@elements.13"> outgoingRelations="//@framedModel/@elements.13">
<firstSegment> <firstSegment>
<elements name="creationtime : DateTime" /> <elements name="creationtime : DateTime" />
...@@ -135,24 +135,24 @@ ...@@ -135,24 +135,24 @@
<elements name="execute() : Boolean" /> <elements name="execute() : Boolean" />
</secondSegment> </secondSegment>
<model> <model>
<elements xsi:type="org.framed.orm.model:Shape" name="RoleGroup (1..1)" <elements xsi:type="org.framed.iorm.model:Shape" name="RoleGroup (1..1)"
type="RoleGroup"> type="RoleGroup">
<model> <model>
<elements xsi:type="org.framed.orm.model:Shape" name="Source" <elements xsi:type="org.framed.iorm.model:Shape" name="Source"
outgoingRelations="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.2 //@framedModel/@elements.4/@model/@elements.0/@model/@elements.3" outgoingRelations="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.2 //@framedModel/@elements.4/@model/@elements.0/@model/@elements.3"
type="RoleType"> type="RoleType">
<secondSegment> <secondSegment>
<elements name="withdraw(amount:Money)" /> <elements name="withdraw(amount:Money)" />
</secondSegment> </secondSegment>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="Target" <elements xsi:type="org.framed.iorm.model:Shape" name="Target"
incomingRelations="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.2 //@framedModel/@elements.4/@model/@elements.0/@model/@elements.3" incomingRelations="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.2 //@framedModel/@elements.4/@model/@elements.0/@model/@elements.3"
type="RoleType"> type="RoleType">
<secondSegment> <secondSegment>
<elements name="deposite(amount:Money)" /> <elements name="deposite(amount:Money)" />
</secondSegment> </secondSegment>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Relation" name="trans" <elements xsi:type="org.framed.iorm.model:Relation" name="trans"
type="Relationship" type="Relationship"
target="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.1" target="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.1"
source="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.0" source="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.0"
...@@ -160,7 +160,7 @@ ...@@ -160,7 +160,7 @@
<sourceLabel name="1" /> <sourceLabel name="1" />
<targetLabel name="1" /> <targetLabel name="1" />
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Relation" name="" <elements xsi:type="org.framed.iorm.model:Relation" name=""
type="Irreflexive" type="Irreflexive"
target="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.1" target="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.1"
source="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.0" source="//@framedModel/@elements.4/@model/@elements.0/@model/@elements.0"
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
</elements> </elements>
</model> </model>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="Account" <elements xsi:type="org.framed.iorm.model:Shape" name="Account"
outgoingRelations="//@framedModel/@elements.14 //@framedModel/@elements.15" outgoingRelations="//@framedModel/@elements.14 //@framedModel/@elements.15"
type="NaturalType"> type="NaturalType">
<firstSegment> <firstSegment>
...@@ -184,29 +184,29 @@ ...@@ -184,29 +184,29 @@
<elements name="decrease(amount : Money)" /> <elements name="decrease(amount : Money)" />
</secondSegment> </secondSegment>
</elements> </elements>
<elements xsi:type="org.framed.orm.model:Shape" name="Integer" <elements xsi:type="org.framed.iorm.model:Shape" name="Integer"
type="DataType" /> type="DataType" />
<elements xsi:type="org.framed.orm.model:Shape" name="Boolean" <elements xsi:type="org.framed.iorm.model:Shape" name="Boolean"
type="DataType" /> type="DataType" />
<elements xsi:type="org.framed.orm.model:Shape" name="Money" <elements xsi:type="org.framed.iorm.model:Shape" name="Money"
type="DataType" /> type="DataType" />
<elements xsi:type="org.framed.orm.model:Shape" name="Double" <elements xsi:type="org.framed.iorm.model:Shape" name="Double"
type="DataType" /> type="DataType" />
<elements xsi:type="org.framed.orm.model:Shape" name="DateTime" <elements xsi:type="org.framed.iorm.model:Shape" name="DateTime"
type="DataType" /> type="DataType" />
<elements xsi:type="org.framed.orm.model:Relation" name="" <elements xsi:type="org.framed.iorm.model:Relation" name=""
type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.0" type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.0"
referencedRoles="//@framedModel/@elements.2/@model/@elements.1 //@framedModel/@elements.2/@model/@elements.0" /> referencedRoles="//@framedModel/@elements.2/@model/@elements.1 //@framedModel/@elements.2/@model/@elements.0" />
<elements xsi:type="org.framed.orm.model:Relation" name="" <elements xsi:type="org.framed.iorm.model:Relation" name=""
type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.1" type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.1"
referencedRoles="//@framedModel/@elements.2/@model/@elements.0" /> referencedRoles="//@framedModel/@elements.2/@model/@elements.0" />
<elements xsi:type="org.framed.orm.model:Relation" name="" <elements xsi:type="org.framed.iorm.model:Relation" name=""
type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.4" type="Fulfillment" target="//@framedModel/@elements.2" source="//@framedModel/@elements.4"
referencedRoles="//@framedModel/@elements.2/@model/@elements.3" /> referencedRoles="//@framedModel/@elements.2/@model/@elements.3" />
<elements xsi:type="org.framed.orm.model:Relation" type="Fulfillment" <elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.2" source="//@framedModel/@elements.5" target="//@framedModel/@elements.2" source="//@framedModel/@elements.5"
referencedRoles="//@framedModel/@elements.2/@model/@elements.4" /> referencedRoles="//@framedModel/@elements.2/@model/@elements.4" />
<elements xsi:type="org.framed.orm.model:Relation" type="Fulfillment" <elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
target="//@framedModel/@elements.2" source="//@framedModel/@elements.5" target="//@framedModel/@elements.2" source="//@framedModel/@elements.5"
referencedRoles="//@framedModel/@elements.4/@model/@elements.0" /> referencedRoles="//@framedModel/@elements.4/@model/@elements.0" />
<framedConfiguration> <framedConfiguration>
...@@ -258,7 +258,7 @@ ...@@ -258,7 +258,7 @@
</elements> </elements>
<elements xsi:type="crom_l1_composed:NaturalType" name="Company"> <elements xsi:type="crom_l1_composed:NaturalType" name="Company">
<attributes name="name" type="//@cromModel/@elements.3" /> <attributes name="name" type="//@cromModel/@elements.3" />
<attributes name="legalForm" type="//@cromModel/@elements.3" /> <attributes name="legalFiorm" type="//@cromModel/@elements.3" />
<attributes name="addresses" type="//@cromModel/@elements.3" /> <attributes name="addresses" type="//@cromModel/@elements.3" />
<attributes name="POBox" type="//@cromModel/@elements.3" /> <attributes name="POBox" type="//@cromModel/@elements.3" />
</elements> </elements>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment