[
Date Prev ][
Date Next ][
Thread Prev ][
Thread Next ][
Date Index ][
Thread Index ]
[
List Home ]
Re: [henshin-dev] Fwd: Re: Bank Account Example update
Hi rok,
I took a look at your example and I have a number of suggestions for
you.
First of all, (currently) Henshin does not support multi-parameters,
i.e., you cannot use a parameter "sons" to return a
List/Array/Collection.. of Persons.
Secondly, the part of your rule that matches sons was defined
incorrectly. From the graphical editor point of view you just have
set the asterisk * at the wrong location. In order to define multi
rules, set the asterisk to the stereotype (see the correct rule
attached). Please note the significant change of the rule in the
tree-based editor!
I propose the following solutions:
1) Execute the transformation. Calling emfGraph.getRootObjects() ,
you will receive all objects not contained in a tree. Choose those
being an instance of Person .
2) Introduce a new root element in your Persons model, e.g., PersonRegister
and modify the rule such that all persons end up being
contained in a PersonRegister object. Then, you could
just return that instance and persist it without additional coding
overhead.
3) Use our trace model, i.e., add the henshin trace model
(http:/www.eclipse.org/emf/2011/Henshin/Trace ) to your
transformation system and use a Trace object as sort of
anchor. In detail, create a Trace object and let this
object refer to all newly created Person s. Then return
this trace object to your code and collect all referred persons.
I would definitely prefer option (2) while all solutions work!!
If you need further help, please drop a message.
Regards,
Stefan
PS: By the way, is "rok" your actual name?
PPS: If you have a minute or two, short statements for what reasons
and in what environment you (plan to) use Henshin are highly
appreciated...as well as any suggestions for improvement or feature
requests....even criticism is welcome in order to improve Henshin.
Am 24.02.2012 19:28, schrieb rok:
Hi,
Great example Stefan, thanks! It helps a lot to get started with
exogenous transformation.
I'm now trying to apply an exogenous transformation to the ATL
example Families 2 Persons (http://www.eclipse.org/m2m/atl/atlTransformations/Families2Persons/Families2Persons.zip ).
So far, I can match the mother and the father from a Family and
create the transformed Persons. But I'm having a hard time to
manage the sons/daughters, since many of them can be specified in
the source files, and each of them shall be transformed into a
person. My transformation file (see enclosed file) only matches
the last specified son from the source file.
How could I do to match each of the sons/daughter please?
Thanks
On Tue, Feb 21, 2012 at 9:41 PM, Stefan
Jurack
<henshin.stj@xxxxxxxxx >
wrote:
Project "Pimp my
exogenous transformation example" finished.
I added a Car Rental scenario in terms of an ecore model to
be transformed by the oo2rdb transformation.
Regards,
Stefan
Am
21.02.2012 17 :33,
schrieb Stefan Jurack:
Hi all,
I added an OO2RDB example to our examples plugin. It
makes extensive use of multi rules which turned out to
work very well.
The transformation translates ecore models into
instances of an rdb.ecore model.
However, the scenario is quite boring and I will pimp
that up in short terms.
greetx, Stefan
-------- Original-Nachricht --------
Hi all,
I already though of adding the common OO-->RDB
scenario as (simple) exogenous transformation example.
Therefore, I would create a simple RDB ecore model and
let arbitrary Ecore files being transformed into
instances of the RDB ecore model.
I will come up with a first version at the end of this
week.
@Rok: You may also want to have a look at the
ecore2genmodel transformation which actually *is* an
exogenous transformation; its rather complex though.
Regards,
Stefan
Am 20.02.2012 07:45, schrieb Christian Krause:
Hi,
we are aware of the issue and it will be fixed in
the new version. The new version will be released in
March. Thank you for your feed back anyway. We will
also add an example of an exogenous transformation
soon.
Best regards,
Christian
On 02/19/2012 08:35 PM, rok wrote:
Hello,
I have the following issues when running the Bank
Account Example using Henshin SDK 0.8.0 with
Eclipse Indigo 3.7.1 on windows 7:
Preview is not working
Rule deleteAllAccounts is not working
I've updated to Henshin SDK 0.8.1 SNAPSHOT but
the Bank Account Example files cannot be opened
anymore (NPE).
Enclosed are the files for the Bank Account
Example that works under SDK 0.8.1. I hope it
helps someone.
Note:
I couldn't rename the model file. I think
making the Eclipse "refactor" functionality
work would be great.
Also, a simple working example of
an exogenous transformation would be very much
appreciated.
Regards,
_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev
_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev
_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev
_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev
<?xml version="1.0" encoding="UTF-8"?>
<henshin:TransformationSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" ; xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" ; xmi:id="_nFkSIF7_EeGJQO_W-td3ew" name="transformation system">
<rules xmi:id="_nFkSIV7_EeGJQO_W-td3ew" name="createFamilyMember">
<parameters xmi:id="_nFkSJF7_EeGJQO_W-td3ew" name="lastN"/>
<parameters xmi:id="_nFkSJV7_EeGJQO_W-td3ew" name="firstN"/>
<lhs xmi:id="_nFkSJl7_EeGJQO_W-td3ew" name="LHS">
<nodes xmi:id="_nFkSJ17_EeGJQO_W-td3ew">
<type href="Families.ecore#//Family"/>
<attributes xmi:id="_nFkSKF7_EeGJQO_W-td3ew" value="lastN">
<type href="Families.ecore#//Family/lastName"/>
</attributes>
</nodes>
</lhs>
<rhs xmi:id="_nFkSKV7_EeGJQO_W-td3ew" name="RHS">
<nodes xmi:id="_nFkSKl7_EeGJQO_W-td3ew" outgoing="_nFkSLl7_EeGJQO_W-td3ew">
<type href="Families.ecore#//Family"/>
<attributes xmi:id="_nFkSK17_EeGJQO_W-td3ew" value="lastN">
<type href="Families.ecore#//Family/lastName"/>
</attributes>
<incoming href="#_qtrTEFujEeGOl9O5RdRSdQ"/>
</nodes>
<nodes xmi:id="_nFkSLF7_EeGJQO_W-td3ew" name="sons" incoming="_nFkSLl7_EeGJQO_W-td3ew">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_nFkSLV7_EeGJQO_W-td3ew" value="firstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<edges xmi:id="_nFkSLl7_EeGJQO_W-td3ew" source="_nFkSKl7_EeGJQO_W-td3ew" target="_nFkSLF7_EeGJQO_W-td3ew">
<type href="Families.ecore#//Family/sons"/>
</edges>
</rhs>
<mappings xmi:id="_nFk5MF7_EeGJQO_W-td3ew" origin="_nFkSJ17_EeGJQO_W-td3ew" image="_nFkSKl7_EeGJQO_W-td3ew"/>
</rules>
<rules xmi:id="_nFk5MV7_EeGJQO_W-td3ew" name="createPerson">
<parameters xmi:id="_nFk5NF7_EeGJQO_W-td3ew" name="lastN"/>
<parameters xmi:id="_nFk5NV7_EeGJQO_W-td3ew" name="fatherFirstN"/>
<parameters xmi:id="_nFk5Nl7_EeGJQO_W-td3ew" description="" name="fatherP"/>
<parameters xmi:id="_q2yHsF8EEeGJQO_W-td3ew" name="motherP"/>
<parameters xmi:id="_9cQ_oF8FEeGJQO_W-td3ew" name="motherFirstN"/>
<parameters xmi:id="_Axgq4F8LEeGJQO_W-td3ew" description="" name="sonsFirstN"/>
<parameters xmi:id="_dVPKEF8LEeGJQO_W-td3ew" name="sonsP"/>
<lhs xmi:id="_nFk5N17_EeGJQO_W-td3ew" name="LHS">
<nodes xmi:id="_nFk5OF7_EeGJQO_W-td3ew" name="father" incoming="_nFk5PF7_EeGJQO_W-td3ew">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_nFk5OV7_EeGJQO_W-td3ew" value="fatherFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<nodes xmi:id="_nFk5Ol7_EeGJQO_W-td3ew" name="" outgoing="_nFk5PF7_EeGJQO_W-td3ew _whdLgF8EEeGJQO_W-td3ew">
<type href="Families.ecore#//Family"/>
<attributes xmi:id="_nFk5O17_EeGJQO_W-td3ew" value="lastN">
<type href="Families.ecore#//Family/lastName"/>
</attributes>
</nodes>
<nodes xmi:id="_Lu5NMF8FEeGJQO_W-td3ew" name="mother" incoming="_whdLgF8EEeGJQO_W-td3ew">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_Lu5NMV8FEeGJQO_W-td3ew" value="motherFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<edges xmi:id="_nFk5PF7_EeGJQO_W-td3ew" source="_nFk5Ol7_EeGJQO_W-td3ew" target="_nFk5OF7_EeGJQO_W-td3ew">
<type href="Families.ecore#//Family/father"/>
</edges>
<edges xmi:id="_whdLgF8EEeGJQO_W-td3ew" source="_nFk5Ol7_EeGJQO_W-td3ew" target="_Lu5NMF8FEeGJQO_W-td3ew">
<type href="Families.ecore#//Family/mother"/>
</edges>
</lhs>
<rhs xmi:id="_nFk5PV7_EeGJQO_W-td3ew" name="RHS">
<nodes xmi:id="_nFk5Pl7_EeGJQO_W-td3ew" name="fatherP">
<type href="Persons.ecore#//Male"/>
<attributes xmi:id="_nFk5P17_EeGJQO_W-td3ew" value="fatherFirstN + " " + lastN">
<type href="Persons.ecore#//Person/fullName"/>
</attributes>
</nodes>
<nodes xmi:id="_nFk5QV7_EeGJQO_W-td3ew" name="" outgoing="_TiYXoV8FEeGJQO_W-td3ew _TiYXoF8FEeGJQO_W-td3ew">
<type href="Families.ecore#//Family"/>
<attributes xmi:id="_nFk5Ql7_EeGJQO_W-td3ew" value="lastN">
<type href="Families.ecore#//Family/lastName"/>
</attributes>
</nodes>
<nodes xmi:id="_2VK2kF8EEeGJQO_W-td3ew" name="motherP">
<type href="Persons.ecore#//Female"/>
<attributes xmi:id="_2VK2kV8EEeGJQO_W-td3ew" value="motherFirstN + " " + lastN">
<type href="Persons.ecore#//Person/fullName"/>
</attributes>
</nodes>
<nodes xmi:id="_Npf4sF8FEeGJQO_W-td3ew" name="father" incoming="_TiYXoF8FEeGJQO_W-td3ew">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_Npf4sV8FEeGJQO_W-td3ew" value="fatherFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<nodes xmi:id="_Npf4sl8FEeGJQO_W-td3ew" name="mother" incoming="_TiYXoV8FEeGJQO_W-td3ew">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_Npf4s18FEeGJQO_W-td3ew" value="motherFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<edges xmi:id="_TiYXoF8FEeGJQO_W-td3ew" source="_nFk5QV7_EeGJQO_W-td3ew" target="_Npf4sF8FEeGJQO_W-td3ew">
<type href="Families.ecore#//Family/father"/>
</edges>
<edges xmi:id="_TiYXoV8FEeGJQO_W-td3ew" source="_nFk5QV7_EeGJQO_W-td3ew" target="_Npf4sl8FEeGJQO_W-td3ew">
<type href="Families.ecore#//Family/mother"/>
</edges>
</rhs>
<mappings xmi:id="_nFk5RV7_EeGJQO_W-td3ew" origin="_nFk5Ol7_EeGJQO_W-td3ew" image="_nFk5QV7_EeGJQO_W-td3ew"/>
<mappings xmi:id="_QJzSQF8FEeGJQO_W-td3ew" origin="_nFk5OF7_EeGJQO_W-td3ew" image="_Npf4sF8FEeGJQO_W-td3ew"/>
<mappings xmi:id="_RjXtQF8FEeGJQO_W-td3ew" origin="_Lu5NMF8FEeGJQO_W-td3ew" image="_Npf4sl8FEeGJQO_W-td3ew"/>
<multiRules xmi:id="_9La9UGEgEeGygLNevHOyIA">
<lhs xmi:id="_9La9UWEgEeGygLNevHOyIA" name="LHS">
<nodes xmi:id="_9LkHQGEgEeGygLNevHOyIA" name="father" incoming="_9LlVYGEgEeGygLNevHOyIA">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_9LkHQWEgEeGygLNevHOyIA" value="fatherFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<nodes xmi:id="_9LkuUGEgEeGygLNevHOyIA" name="" outgoing="_9LlVYGEgEeGygLNevHOyIA _9LnxoGEgEeGygLNevHOyIA _0g-tYF8KEeGJQO_W-td3ew">
<type href="Families.ecore#//Family"/>
<attributes xmi:id="_9LkuUWEgEeGygLNevHOyIA" value="lastN">
<type href="Families.ecore#//Family/lastName"/>
</attributes>
</nodes>
<nodes xmi:id="_9LnKkWEgEeGygLNevHOyIA" name="mother" incoming="_9LnxoGEgEeGygLNevHOyIA">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_9LnKkmEgEeGygLNevHOyIA" value="motherFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<nodes xmi:id="_sOxmoF8KEeGJQO_W-td3ew" name="sons" incoming="_0g-tYF8KEeGJQO_W-td3ew">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_ww1ckF8KEeGJQO_W-td3ew" value="sonsFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<edges xmi:id="_9LlVYGEgEeGygLNevHOyIA" source="_9LkuUGEgEeGygLNevHOyIA" target="_9LkHQGEgEeGygLNevHOyIA">
<type href="Families.ecore#//Family/father"/>
</edges>
<edges xmi:id="_9LnxoGEgEeGygLNevHOyIA" source="_9LkuUGEgEeGygLNevHOyIA" target="_9LnKkWEgEeGygLNevHOyIA">
<type href="Families.ecore#//Family/mother"/>
</edges>
<edges xmi:id="_0g-tYF8KEeGJQO_W-td3ew" source="_9LkuUGEgEeGygLNevHOyIA" target="_sOxmoF8KEeGJQO_W-td3ew">
<type href="Families.ecore#//Family/sons"/>
</edges>
</lhs>
<rhs xmi:id="_9La9UmEgEeGygLNevHOyIA" name="RHS">
<nodes xmi:id="_9LiSEGEgEeGygLNevHOyIA" name="father" incoming="_9LjgMGEgEeGygLNevHOyIA">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_9LiSEWEgEeGygLNevHOyIA" value="fatherFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<nodes xmi:id="_9Li5IGEgEeGygLNevHOyIA" name="" outgoing="_9LjgMGEgEeGygLNevHOyIA _9LmjgGEgEeGygLNevHOyIA _2jbtUF8KEeGJQO_W-td3ew">
<type href="Families.ecore#//Family"/>
<attributes xmi:id="_9Li5IWEgEeGygLNevHOyIA" value="lastN">
<type href="Families.ecore#//Family/lastName"/>
</attributes>
</nodes>
<nodes xmi:id="_9Ll8cGEgEeGygLNevHOyIA" name="mother" incoming="_9LmjgGEgEeGygLNevHOyIA">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_9Ll8cWEgEeGygLNevHOyIA" value="motherFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<nodes xmi:id="_yFaC0F8KEeGJQO_W-td3ew" name="sons" incoming="_2jbtUF8KEeGJQO_W-td3ew">
<type href="Families.ecore#//Member"/>
<attributes xmi:id="_yFaC0V8KEeGJQO_W-td3ew" value="sonsFirstN">
<type href="Families.ecore#//Member/firstName"/>
</attributes>
</nodes>
<nodes xmi:id="_LV4BgF8LEeGJQO_W-td3ew" name="sonsP">
<type href="Persons.ecore#//Male"/>
<attributes xmi:id="_Notm0F8LEeGJQO_W-td3ew" value="sonsFirstN + " " + lastN">
<type href="Persons.ecore#//Person/fullName"/>
</attributes>
</nodes>
<edges xmi:id="_9LjgMGEgEeGygLNevHOyIA" source="_9Li5IGEgEeGygLNevHOyIA" target="_9LiSEGEgEeGygLNevHOyIA">
<type href="Families.ecore#//Family/father"/>
</edges>
<edges xmi:id="_9LmjgGEgEeGygLNevHOyIA" source="_9Li5IGEgEeGygLNevHOyIA" target="_9Ll8cGEgEeGygLNevHOyIA">
<type href="Families.ecore#//Family/mother"/>
</edges>
<edges xmi:id="_2jbtUF8KEeGJQO_W-td3ew" source="_9Li5IGEgEeGygLNevHOyIA" target="_yFaC0F8KEeGJQO_W-td3ew">
<type href="Families.ecore#//Family/sons"/>
</edges>
</rhs>
<mappings xmi:id="_9LlVYWEgEeGygLNevHOyIA" origin="_9LkHQGEgEeGygLNevHOyIA" image="_9LiSEGEgEeGygLNevHOyIA"/>
<mappings xmi:id="_9Lo_wWEgEeGygLNevHOyIA" origin="_9LkuUGEgEeGygLNevHOyIA" image="_9Li5IGEgEeGygLNevHOyIA"/>
<mappings xmi:id="_9Lpm0GEgEeGygLNevHOyIA" origin="_9LnKkWEgEeGygLNevHOyIA" image="_9Ll8cGEgEeGygLNevHOyIA"/>
<mappings xmi:id="_4bGZkF8KEeGJQO_W-td3ew" origin="_sOxmoF8KEeGJQO_W-td3ew" image="_yFaC0F8KEeGJQO_W-td3ew"/>
<multiMappings xmi:id="_9LiSEmEgEeGygLNevHOyIA" origin="_Npf4sF8FEeGJQO_W-td3ew" image="_9LiSEGEgEeGygLNevHOyIA"/>
<multiMappings xmi:id="_9Li5ImEgEeGygLNevHOyIA" origin="_nFk5QV7_EeGJQO_W-td3ew" image="_9Li5IGEgEeGygLNevHOyIA"/>
<multiMappings xmi:id="_9LkHQmEgEeGygLNevHOyIA" origin="_nFk5OF7_EeGJQO_W-td3ew" image="_9LkHQGEgEeGygLNevHOyIA"/>
<multiMappings xmi:id="_9LkuUmEgEeGygLNevHOyIA" origin="_nFk5Ol7_EeGJQO_W-td3ew" image="_9LkuUGEgEeGygLNevHOyIA"/>
<multiMappings xmi:id="_9Ll8cmEgEeGygLNevHOyIA" origin="_Npf4sl8FEeGJQO_W-td3ew" image="_9Ll8cGEgEeGygLNevHOyIA"/>
<multiMappings xmi:id="_9LnKk2EgEeGygLNevHOyIA" origin="_Lu5NMF8FEeGJQO_W-td3ew" image="_9LnKkWEgEeGygLNevHOyIA"/>
</multiRules>
</rules>
<imports href="Persons.ecore#/"/>
<imports href="Families.ecore#/"/>
</henshin:TransformationSystem>
<?xml version="1.0" encoding="UTF-8"?>
<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" ; xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" ; xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" ; xmi:id="_RLQlUGEgEeGygLNevHOyIA" type="Henshin" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_RWFVQGEgEeGygLNevHOyIA" type="2001" fontName="Segoe UI" italic="true" fillColor="16114135" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RWHxgGEgEeGygLNevHOyIA" type="5001"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RWHxgWEgEeGygLNevHOyIA" type="7001">
<children xmi:type="notation:Shape" xmi:id="_RZAGYGEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RZAGYmEgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RZAGY2EgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RZAGZGEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_RZAGZWEgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_RZAGZmEgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_nFkSJ17_EeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RZAGYWEgEeGygLNevHOyIA" x="32" y="130"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_RZAtcGEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RZAtcmEgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RZAtc2EgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RZAtdGEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_RZAtdWEgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_RZAtdmEgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_nFkSLF7_EeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RZAtcWEgEeGygLNevHOyIA" x="30" y="30"/>
</children>
</children>
<element xmi:type="henshin:Rule" href="default.henshin#_nFkSIV7_EeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RWFVQWEgEeGygLNevHOyIA" x="30" y="30" width="241" height="220"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_RWIYkGEgEeGygLNevHOyIA" type="2001" fontName="Segoe UI" italic="true" fillColor="16114135" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RWIYkmEgEeGygLNevHOyIA" type="5001"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RWIYk2EgEeGygLNevHOyIA" type="7001">
<children xmi:type="notation:Shape" xmi:id="_RcffQGEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RcgGUGEgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RcgGUWEgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RcgGUmEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_RcgGU2EgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_RcgGVGEgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_nFk5OF7_EeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RcffQWEgEeGygLNevHOyIA" x="30" y="30"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_RcgGVWEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RcgGV2EgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RcgGWGEgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RcgGWWEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_RcgGWmEgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_RcgGW2EgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_nFk5Ol7_EeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RcgGVmEgEeGygLNevHOyIA" x="263" y="139"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_RcgGXGEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RcgtYGEgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RcgtYWEgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RcgtYmEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_RcgtY2EgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_RcgtZGEgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_Lu5NMF8FEeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RcgGXWEgEeGygLNevHOyIA" x="241" y="30"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_RcgtZWEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RcgtZ2EgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RcgtaGEgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RcgtaWEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_RcgtamEgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_Rcgta2EgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_sOxmoF8KEeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RcgtZmEgEeGygLNevHOyIA" x="537" y="28"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_RcgtbGEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RchUcGEgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RchUcWEgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RchUcmEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_RchUc2EgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_RchUdGEgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_nFk5Pl7_EeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RcgtbWEgEeGygLNevHOyIA" x="18" y="139"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_RchUdWEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RchUd2EgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RchUeGEgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_RchUeWEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_RchUemEgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_RchUe2EgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_2VK2kF8EEeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RchUdmEgEeGygLNevHOyIA" x="18" y="202"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_RchUfGEgEeGygLNevHOyIA" type="3001" fontName="Segoe UI" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_Rch7gGEgEeGygLNevHOyIA" type="5002"/>
<children xmi:type="notation:DecorationNode" xmi:id="_Rch7gWEgEeGygLNevHOyIA" type="5003"/>
<children xmi:type="notation:DecorationNode" xmi:id="_Rch7gmEgEeGygLNevHOyIA" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_Rch7g2EgEeGygLNevHOyIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_Rch7hGEgEeGygLNevHOyIA"/>
</children>
<element xmi:type="henshin:Node" href="default.henshin#_LV4BgF8LEeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RchUfWEgEeGygLNevHOyIA" x="472" y="92"/>
</children>
</children>
<element xmi:type="henshin:Rule" href="default.henshin#_nFk5MV7_EeGJQO_W-td3ew"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RWIYkWEgEeGygLNevHOyIA" x="30" y="262" height="295"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_RLQlUWEgEeGygLNevHOyIA"/>
<element xmi:type="henshin:TransformationSystem" href="default.henshin#_nFkSIF7_EeGJQO_W-td3ew"/>
<edges xmi:type="notation:Connector" xmi:id="_RdXB8GEgEeGygLNevHOyIA" type="4001" source="_RZAGYGEgEeGygLNevHOyIA" target="_RZAtcGEgEeGygLNevHOyIA" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RdXB82EgEeGygLNevHOyIA" type="6001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RdXB9GEgEeGygLNevHOyIA" x="-2" y="19"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_RdXpAGEgEeGygLNevHOyIA" type="6002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RdXpAWEgEeGygLNevHOyIA" x="14" y="25"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_RdXB8WEgEeGygLNevHOyIA" fontName="Segoe UI"/>
<element xmi:type="henshin:Edge" href="default.henshin#_nFkSLl7_EeGJQO_W-td3ew"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RdXB8mEgEeGygLNevHOyIA" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SqHwAGEgEeGygLNevHOyIA" id="(0.5,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SqIXEGEgEeGygLNevHOyIA" id="(0.5,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_RdvccGEgEeGygLNevHOyIA" type="4001" source="_RcgGVWEgEeGygLNevHOyIA" target="_RcffQGEgEeGygLNevHOyIA" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_Rdvcc2EgEeGygLNevHOyIA" type="6001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RdvcdGEgEeGygLNevHOyIA" x="55" y="-13"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_RdvcdWEgEeGygLNevHOyIA" type="6002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RdvcdmEgEeGygLNevHOyIA" x="21" y="13"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_RdvccWEgEeGygLNevHOyIA" fontName="Segoe UI"/>
<element xmi:type="henshin:Edge" href="default.henshin#_nFk5PF7_EeGJQO_W-td3ew"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RdvccmEgEeGygLNevHOyIA" points="[0, 0, 186, 60]$[-186, -60, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TKzbMWEgEeGygLNevHOyIA" id="(0.24561403508771928,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TKzbMmEgEeGygLNevHOyIA" id="(0.4966887417218543,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_RdwqkGEgEeGygLNevHOyIA" type="4001" source="_RcgGVWEgEeGygLNevHOyIA" target="_RcgGXGEgEeGygLNevHOyIA" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_RdxRoGEgEeGygLNevHOyIA" type="6001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RdxRoWEgEeGygLNevHOyIA" x="-9" y="25"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_RdxRomEgEeGygLNevHOyIA" type="6002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RdxRo2EgEeGygLNevHOyIA" x="3" y="33"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_RdwqkWEgEeGygLNevHOyIA" fontName="Segoe UI"/>
<element xmi:type="henshin:Edge" href="default.henshin#_whdLgF8EEeGJQO_W-td3ew"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RdwqkmEgEeGygLNevHOyIA" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TKy0IWEgEeGygLNevHOyIA" id="(0.5,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TKzbMGEgEeGygLNevHOyIA" id="(0.4968553459119497,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_RdyfwGEgEeGygLNevHOyIA" type="4001" source="_RcgGVWEgEeGygLNevHOyIA" target="_RcgtZWEgEeGygLNevHOyIA" routing="Rectilinear" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_Rdyfw2EgEeGygLNevHOyIA" type="6001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RdyfxGEgEeGygLNevHOyIA" x="37" y="57"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_RdyfxWEgEeGygLNevHOyIA" type="6002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RdyfxmEgEeGygLNevHOyIA" x="53" y="57"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_RdyfwWEgEeGygLNevHOyIA" fontName="Segoe UI"/>
<element xmi:type="henshin:Edge" href="default.henshin#_0g-tYF8KEeGJQO_W-td3ew"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RdyfwmEgEeGygLNevHOyIA" points="[29, 24, -234, 81]$[89, 24, -174, 81]$[89, -70, -174, -13]$[189, -70, -74, -13]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TKyNEGEgEeGygLNevHOyIA" id="(0.7456140350877193,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TKy0IGEgEeGygLNevHOyIA" id="(0.5,1.0)"/>
</edges>
</notation:Diagram>
Attachment:
signature.asc
Description: OpenPGP digital signature