Initial commit.

This commit is contained in:
2018-12-06 14:47:05 +01:00
parent b1dcd806aa
commit 79820f4433
370 changed files with 247380 additions and 3 deletions

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="cComponent">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"/>
<details key="name" value="cComponent"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="extends cModel" value="_IT7_UPqUEeectLZKwQfI0A"/>
</annotations>
<attributes key="org.eventb.texttools.text_lastmodified">
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000162677D4428"/>
</attributes>
<attributes key="org.eventb.texttools.text_representation">
<value type="String" value="ACED0005740036636F6E746578742063436F6D706F6E656E7420657874656E647320634D6F64656C0A0A7365747320436F6D706F6E656E740A656E640A"/>
</attributes>
<extends href="../cModel.buc#http://emf.eventb.org/models/core/context/2014::Context::cModel"/>
<sets name="Component">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_IT7_UfqUEeectLZKwQfI0A"/>
<details key="identifier" value="Component"/>
</annotations>
</sets>
</context:Context>

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="cLink">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig"/>
<details key="name" value="cLink"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="extends cPort" value="'"/>
</annotations>
<attributes key="org.eventb.texttools.text_lastmodified">
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000160FA6BAD63"/>
</attributes>
<attributes key="org.eventb.texttools.text_representation">
<value type="String" value="ACED00057400EA636F6E7465787420634C696E6B20657874656E64732063506F72740A73657473204C696E6B0A636F6E7374616E74730A094C4B696E64205472616E73706F7365204964656E7469747920536869667420466972737420526F746174650A0A6178696F6D730A09406C696E6B5F6B20706172746974696F6E284C696E6B2C205472616E73706F73652C204964656E746974792C2053686966742C2046697273742C20526F74617465290A09404C4B696E64204C4B696E64203D207B5472616E73706F73652C204964656E746974792C2053686966742C2046697273742C20526F746174657D0A0A656E640A"/>
</attributes>
<extends href="../cPort.buc#http://emf.eventb.org/models/core/context/2014::Context::cPort"/>
<sets name="Link">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_IabHcPoIEeeOzddrJxUeNA"/>
<details key="identifier" value="Link"/>
</annotations>
</sets>
<constants name="LKind">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_u1ZfsPgzEeeeS5KQUtrGlw"/>
<details key="identifier" value="LKind"/>
</annotations>
</constants>
<constants name="Transpose">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_WzjhMPg8EeeeS5KQUtrGlw"/>
<details key="identifier" value="Transpose"/>
</annotations>
</constants>
<constants name="Identity">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_WzjhMfg8EeeeS5KQUtrGlw"/>
<details key="identifier" value="Identity"/>
</annotations>
</constants>
<constants name="Shift">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_WzjhMvg8EeeeS5KQUtrGlw"/>
<details key="identifier" value="Shift"/>
</annotations>
</constants>
<constants name="First">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_WzjhM_g8EeeeS5KQUtrGlw"/>
<details key="identifier" value="First"/>
</annotations>
</constants>
<constants name="Rotate">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_WzjhNPg8EeeeS5KQUtrGlw"/>
<details key="identifier" value="Rotate"/>
</annotations>
</constants>
<axioms name="link_k" predicate="partition(Link, Transpose, Identity, Shift, First, Rotate)">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_u1ZfsfgzEeeeS5KQUtrGlw"/>
<details key="label" value="link_k"/>
</annotations>
</axioms>
<axioms name="LKind" predicate="LKind = {Transpose, Identity, Shift, First, Rotate}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_u1ZfsvgzEeeeS5KQUtrGlw"/>
<details key="label" value="LKind"/>
</annotations>
</axioms>
</context:Context>

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="cModel">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"/>
<details key="name" value="cModel"/>
</annotations>
<attributes key="org.eventb.texttools.text_lastmodified">
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000161429C4912"/>
</attributes>
<attributes key="org.eventb.texttools.text_representation">
<value type="String" value="ACED00057400ED636F6E7465787420634D6F64656C0A0A73657473204D6F64656C2050726F70657274790A0A636F6E7374616E7473204D646C205061747465726E2050617420496E73740A0A6178696F6D730A2020405061747465726E5F7479205061747465726E20E28A86204D6F64656C0A2020404D646C5F7479204D646C20E28888204D6F64656C20E28896205061747465726E0A2020405061745F74792050617420E28888205061747465726E0A202040496E73745F747920496E737420E28888204D6F64656C20E28896205061747465726E0A202040496E73745F4D646C20496E737420E289A0204D646C0A656E640A"/>
</attributes>
<sets name="Model">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_5dsj0PqTEeectLZKwQfI0A"/>
<details key="identifier" value="Model"/>
</annotations>
</sets>
<sets name="Property">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9dBM4ADlEei-meqqkXX9bA"/>
<details key="identifier" value="Property"/>
</annotations>
</sets>
<constants name="Mdl">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_h20JYPqkEeectLZKwQfI0A"/>
<details key="identifier" value="Mdl"/>
</annotations>
</constants>
<constants name="Pattern">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_h20wcPqkEeectLZKwQfI0A"/>
<details key="identifier" value="Pattern"/>
</annotations>
</constants>
<constants name="Pat">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_b4aBsPraEeerIsS6OyYQ4w"/>
<details key="identifier" value="Pat"/>
</annotations>
</constants>
<constants name="Inst">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_fxjdEAKnEeiAPf1wPUl3Gw"/>
<details key="identifier" value="Inst"/>
</annotations>
</constants>
<axioms name="Pattern_ty" predicate="Pattern ⊆ Model">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_h20wcfqkEeectLZKwQfI0A"/>
<details key="label" value="Pattern_ty"/>
</annotations>
</axioms>
<axioms name="Mdl_ty" predicate="Mdl ∈ Model Pattern">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_h20wcvqkEeectLZKwQfI0A"/>
<details key="label" value="Mdl_ty"/>
</annotations>
</axioms>
<axioms name="Pat_ty" predicate="Pat ∈ Pattern">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_h20wc_qkEeectLZKwQfI0A"/>
<details key="label" value="Pat_ty"/>
</annotations>
</axioms>
<axioms name="Inst_ty" predicate="Inst ∈ Model Pattern">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_fxjdEQKnEeiAPf1wPUl3Gw"/>
<details key="label" value="Inst_ty"/>
</annotations>
</axioms>
<axioms name="Inst_Mdl" predicate="Inst ≠ Mdl">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_DGgrYAUMEei9ocE08JsPSw"/>
<details key="label" value="Inst_Mdl"/>
</annotations>
</axioms>
</context:Context>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="cPort">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase"/>
<details key="name" value="cPort"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="extends cComponent" value="'"/>
</annotations>
<attributes key="org.eventb.texttools.text_lastmodified">
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000160FEC77876"/>
</attributes>
<attributes key="org.eventb.texttools.text_representation">
<value type="String" value="ACED0005740071636F6E746578742063506F727420657874656E64732063436F6D706F6E656E740A736574730A09506F72740A636F6E7374616E74730A0949506F7274204F506F72740A6178696F6D730A09407061727420706172746974696F6E28506F72742C49506F72742C4F506F7274290A656E640A"/>
</attributes>
<extends href="../cComponent.buc#http://emf.eventb.org/models/core/context/2014::Context::cComponent"/>
<sets name="Port">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_YwaNQPqeEeectLZKwQfI0A"/>
<details key="identifier" value="Port"/>
</annotations>
</sets>
<constants name="IPort">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_Y1LocPqyEeectLZKwQfI0A"/>
<details key="identifier" value="IPort"/>
</annotations>
</constants>
<constants name="OPort">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_Y1LocfqyEeectLZKwQfI0A"/>
<details key="identifier" value="OPort"/>
</annotations>
</constants>
<axioms name="part" predicate="partition(Port,IPort,OPort)">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_Y1LocvqyEeectLZKwQfI0A"/>
<details key="label" value="part"/>
</annotations>
</axioms>
</context:Context>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<machine:Machine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:machine="http://emf.eventb.org/models/core/machine/2014" name="mProperty">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="configuration" value="org.eventb.core.fwd;de.prob.units.mchBase"/>
<details key="name" value="mProperty"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="refines mComponent" value="_0kfYMPqeEeectLZKwQfI0A"/>
<details key="sees cComponent" value="_Rf6I4ADlEei-meqqkXX9bA"/>
</annotations>
<attributes key="org.eventb.texttools.text_lastmodified">
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000016272303A26"/>
</attributes>
<attributes key="org.eventb.texttools.text_representation">
<value type="String" value="ACED00057403806D616368696E65206D50726F706572747920726566696E6573206D436F6D706F6E656E742020736565732063436F6D706F6E656E740A0A7661726961626C657320636F6D706F6E656E747320636F6E7461696E657220635F6D756C7469706C696369747920746F5F636C6F6E655F6320635F696E64657820746F5F756E666F6C645F6320746F5F756E666F6C645F635F696E206350726F7065727469657320696E7374327061745F630A0A696E76617269616E74730A20204070726F70206350726F7065727469657320E2888820436F6D706F6E656E7420E286942050726F70657274790A0A6576656E74730A20206576656E7420696E7374616E63696174655F7061747465726E20657874656E647320696E7374616E63696174655F7061747465726E0A2020656E640A0A20206576656E7420756E666F6C645F726F6F745F6320657874656E647320756E666F6C645F726F6F745F630A202020207468656E0A2020202020204070726F70206350726F7065727469657320E28994206350726F7065727469657320E288AA202872616E286E65775F6329C3976350726F706572746965735B7B637D5D290A2020656E640A0A20206576656E7420636C6F6E655F6320657874656E647320636C6F6E655F630A2020656E640A0A20206576656E7420756E666F6C645F6E6F64655F6320657874656E647320756E666F6C645F6E6F64655F630A202020207468656E0A2020202020204070726F70206350726F7065727469657320E28994206350726F7065727469657320E288AA202872616E286E65775F6329C3976350726F706572746965735B7B637D5D290A2020656E640A0A20206576656E74206170706C795F7061747465726E20657874656E6473206170706C795F7061747465726E0A20202020616E7920696E73745F70726F70730A2020202077686572650A20202020202040696E73745F70726F7020696E73745F70726F707320E288882050726F706572747920E287B82050726F7065727479202F2F207061747465726E2070726F7065727469657320746F206D6F64656C2070726F706572746965730A202020207468656E0A2020202020204070726F70206350726F7065727469657320E28994206350726F7065727469657320E288AA20202828696E73745F636F6D706F6E656E747320E288AA206E65775F636F6D706F6E656E747329E288BC3B6350726F70657274696573290A2020656E640A656E640A"/>
</attributes>
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Machine::mComponent"/>
<sees href="../cComponent.buc#http://emf.eventb.org/models/core/context/2014::Context::cComponent"/>
<variables name="components">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_0kf_QPqeEeectLZKwQfI0A"/>
<details key="identifier" value="components"/>
</annotations>
</variables>
<variables name="container">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_0kf_QfqeEeectLZKwQfI0A"/>
<details key="identifier" value="container"/>
</annotations>
</variables>
<variables name="c_multiplicity">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_0kf_QvqeEeectLZKwQfI0A"/>
<details key="identifier" value="c_multiplicity"/>
</annotations>
</variables>
<variables name="to_clone_c">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_0kf_Q_qeEeectLZKwQfI0A"/>
<details key="identifier" value="to_clone_c"/>
</annotations>
</variables>
<variables name="c_index">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btIX4fqwEeectLZKwQfI0A"/>
<details key="identifier" value="c_index"/>
</annotations>
</variables>
<variables name="to_unfold_c">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_zYW3EPqwEeectLZKwQfI0A"/>
<details key="identifier" value="to_unfold_c"/>
</annotations>
</variables>
<variables name="to_unfold_c_in">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_ANiZwPqxEeectLZKwQfI0A"/>
<details key="identifier" value="to_unfold_c_in"/>
</annotations>
</variables>
<variables name="cProperties">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_JtPOYPqxEeectLZKwQfI0A"/>
<details key="identifier" value="cProperties"/>
</annotations>
</variables>
<variables name="inst2pat_c">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_gk8cUAK8EeiAPf1wPUl3Gw"/>
<details key="identifier" value="inst2pat_c"/>
</annotations>
</variables>
<invariants name="prop" predicate="cProperties ∈ Component ↔ Property">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_0kf_RPqeEeectLZKwQfI0A"/>
<details key="label" value="prop"/>
</annotations>
</invariants>
<events name="instanciate_pattern" extended="true">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="'"/>
<details key="label" value="instanciate_pattern"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="refines instanciate_pattern" value="_btHw0PqwEeectLZKwQfI0A"/>
</annotations>
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.instanciate_pattern"/>
</events>
<events name="unfold_root_c" extended="true">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btIX4_qwEeectLZKwQfI0A"/>
<details key="label" value="unfold_root_c"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="refines unfold_root_c" value="_bAhygAKxEeiAPf1wPUl3Gw"/>
</annotations>
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.unfold_root_c"/>
<actions name="prop" action="cProperties ≔ cProperties (ran(new_c)×cProperties[{c}])">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btIX4PqwEeectLZKwQfI0A"/>
<details key="label" value="prop"/>
</annotations>
</actions>
</events>
<events name="clone_c" extended="true">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btJmBfqwEeectLZKwQfI0A"/>
<details key="label" value="clone_c"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="refines clone_c" value="_SDieEP06Eees7pYemx4WBQ"/>
</annotations>
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.clone_c"/>
</events>
<events name="unfold_node_c" extended="true">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btKNEfqwEeectLZKwQfI0A"/>
<details key="label" value="unfold_node_c"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="refines unfold_node_c" value="_bAhygQKxEeiAPf1wPUl3Gw"/>
</annotations>
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.unfold_node_c"/>
<actions name="prop" action="cProperties ≔ cProperties (ran(new_c)×cProperties[{c}])">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btJmA_qwEeectLZKwQfI0A"/>
<details key="label" value="prop"/>
</annotations>
</actions>
</events>
<events name="apply_pattern" extended="true">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btKNGPqwEeectLZKwQfI0A"/>
<details key="label" value="apply_pattern"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="refines apply_pattern" value="_Rf7XAQDlEei-meqqkXX9bA"/>
</annotations>
<refines href="../mComponent.bum#http://emf.eventb.org/models/core/machine/2014::Event::mComponent.apply_pattern"/>
<parameters name="inst_props">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btHw0fqwEeectLZKwQfI0A"/>
<details key="identifier" value="inst_props"/>
</annotations>
</parameters>
<guards comment="pattern properties to model properties" name="inst_prop" predicate="inst_props ∈ Property ⇸ Property">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_btHw0_qwEeectLZKwQfI0A"/>
<details key="label" value="inst_prop"/>
<details key="comment" value="pattern properties to model properties"/>
</annotations>
</guards>
<actions name="prop" action="cProperties ≔ cProperties ((inst_components new_components);cProperties)">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_bAhyggKxEeiAPf1wPUl3Gw"/>
<details key="label" value="prop"/>
</annotations>
</actions>
</events>
</machine:Machine>

View File

@@ -0,0 +1,278 @@
<?xml version="1.0" encoding="UTF-8"?>
<context:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:context="http://emf.eventb.org/models/core/context/2014" name="pattern_safety">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="configuration" value="org.eventb.core.fwd;de.prob.symbolic.ctxBase;de.prob.units.mchBase;org.eventb.codegen.ui.cgConfig"/>
<details key="name" value="pattern_safety"/>
</annotations>
<annotations source="http:///org/eventb/core/RodinReferenceNamesAnnotations">
<details key="extends cLink" value="_-yB9QAAPEeis7pYemx4WBQ"/>
</annotations>
<attributes key="org.eventb.texttools.text_lastmodified">
<value type="Long" value="ACED00057372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000016128212865"/>
</attributes>
<attributes key="org.eventb.texttools.text_representation">
<value type="String" value="ACED0005740913636F6E74657874207061747465726E5F73616665747920657874656E647320634C696E6B0A0A636F6E7374616E7473207265706C696361746F722062616C6C6F745F626F78207361666574795F6D6F64656C207361666574795F636F6D70207361666574795F636F6E7461696E657220746F795F6D6F64656C20746F795F636F6E7461696E657220746F795F61707020746F795F696E705F3120746F795F696E705F3220746F795F6F757470757420636F6D706F6E656E74735F76617220636F6E7461696E65725F76617220665F636F6E7461696E65725F76617220696E73745F636F6D706F6E656E74735F70617220635F6D756C745F6F74686572735F70617220635F6D756C7469706C69636974795F76617220746F5F756E666F6C645F635F7661720A0A6178696F6D730A2020407265706C696361746F725F7479207265706C696361746F7220E2888820436F6D706F6E656E74202F2F20736166657479207061747465726E0A20204062616C6C6F745F626F785F74792062616C6C6F745F626F7820E2888820436F6D706F6E656E740A2020407361666574795F636F6D70207361666574795F636F6D7020E2888820436F6D706F6E656E740A202040616C6C5F646966665F636F6D706F6E656E74207265706C696361746F7220E289A02062616C6C6F745F626F7820E288A7207265706C696361746F7220E289A0207361666574795F636F6D7020E288A72062616C6C6F745F626F7820E289A0207361666574795F636F6D700A2020407361666574795F636F6E7461696E6572207361666574795F636F6E7461696E6572203D207B7265706C696361746F7220E286A6207361666574795F636F6D702C2062616C6C6F745F626F7820E286A6207361666574795F636F6D707D0A202040746F795F636F6E7461696E65725F747920746F795F636F6E7461696E657220E2888820436F6D706F6E656E7420E287B820436F6D706F6E656E740A202040746F795F636F6E7461696E65725F64656620746F795F636F6E7461696E6572203D20E288850A2020407361666574795F6D6F64656C207361666574795F6D6F64656C20E28888204D6F64656C0A202040746F795F6D6F64656C5F747920746F795F6D6F64656C20E28888204D6F64656C0A2020407361666574795F646966665F746F79207361666574795F6D6F64656C20E289A020746F795F6D6F64656C0A2020404D6F64656C5F646566204D6F64656C203D207B7361666574795F6D6F64656C2C746F795F6D6F64656C7D0A202040746F795F6170705F747920746F795F61707020E2888820436F6D706F6E656E74202F2F20746F79206170706C69636174696F6E0A202040746F795F696E705F315F747920746F795F696E705F3120E288882049506F72740A202040746F795F696E705F325F747920746F795F696E705F3220E288882049506F72740A202040746F795F6F75747075745F747920746F795F6F757470757420E28888204F506F72740A202040636F6D706F6E656E74735F7661725F64656620636F6D706F6E656E74735F766172203D207B7361666574795F6D6F64656C20E286A6207B7265706C696361746F722C62616C6C6F745F626F782C7361666574795F636F6D707D2C0A20202020202020202020202020202020202020202020202020202020202020202020202020202020746F795F6D6F64656C20E286A62020207B746F795F6170707D0A2020202020202020202020202020202020202020202020202020202020202020202020202020207D0A202040636F6E7461696E65725F7661725F64656620636F6E7461696E65725F766172203D207B7361666574795F6D6F64656C20E286A6207361666574795F636F6E7461696E65722C20746F795F6D6F64656C20E286A620746F795F636F6E7461696E65727D0A202040665F636F6E7461696E65725F76617220665F636F6E7461696E65725F766172203D207B7265706C696361746F7220E286A6207361666574795F636F6D702C2062616C6C6F745F626F7820E286A6207361666574795F636F6D707D0A20207468656F72656D2040665F616379636C20E288806DC2B720636F6E7461696E65725F766172286D2920E28A8620665F636F6E7461696E65725F7661720A20202020202020202020202020202020202020E288A720665F636F6E7461696E65725F7661723B665F636F6E7461696E65725F76617220E28A8620665F636F6E7461696E65725F7661720A20202020202020202020202020202020202020E288A720696420E288A920665F636F6E7461696E65725F766172203D20E288850A202040696E73745F636F6D706F6E656E74735F64656620696E73745F636F6D706F6E656E74735F706172203D207B7361666574795F636F6D7020E286A620746F795F6170707D0A202040635F6D756C745F6F74686572735F64656620635F6D756C745F6F74686572735F706172203D207B7265706C696361746F7220E286A620332C2062616C6C6F745F626F7820E286A620317D202F2F207061747465726E20696E7374616E74696174696F6E0A202040635F6D756C69706C69636974795F7661725F64656620635F6D756C7469706C69636974795F766172203D207B7361666574795F6D6F64656C20E286A6207B7361666574795F636F6D7020E286A620312C207265706C696361746F7220E286A620332C2062616C6C6F745F626F7820E286A620317D7D0A20207468656F72656D2040635F6D756C7469706C69636974795F61737369676E0A200909635F6D756C7469706C69636974795F766172287361666574795F6D6F64656C29203D20635F6D756C745F6F74686572735F7061720A20090909EE8483207B7063C2B720706320E2888820646F6D28696E73745F636F6D706F6E656E74735F7061722920E288A320706320E286A6206361726428696E73745F636F6D706F6E656E74735F7061725B7B70637D5D297D0A202040746F5F756E666F6C645F635F7661725F64656620746F5F756E666F6C645F635F766172203D207B7361666574795F636F6D707D0A20207468656F72656D2040746F5F756E666F6C645F635F7661720A20200909746F5F756E666F6C645F635F766172203D2028636F6D706F6E656E74735F766172287361666574795F6D6F64656C2920E2889620646F6D28636F6E7461696E65725F766172287361666574795F6D6F64656C2929290A656E640A0A"/>
</attributes>
<extends href="../cLink.buc#http://emf.eventb.org/models/core/context/2014::Context::cLink"/>
<constants name="replicator">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_-yB9QQAPEeis7pYemx4WBQ"/>
<details key="identifier" value="replicator"/>
</annotations>
</constants>
<constants name="ballot_box">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_-yCkUAAPEeis7pYemx4WBQ"/>
<details key="identifier" value="ballot_box"/>
</annotations>
</constants>
<constants name="safety_model">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_-yCkUQAPEeis7pYemx4WBQ"/>
<details key="identifier" value="safety_model"/>
</annotations>
</constants>
<constants name="safety_comp">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_H1oEsAAQEeis7pYemx4WBQ"/>
<details key="identifier" value="safety_comp"/>
</annotations>
</constants>
<constants name="safety_container">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_oim4QAAQEeis7pYemx4WBQ"/>
<details key="identifier" value="safety_container"/>
</annotations>
</constants>
<constants name="toy_model">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_oim4QQAQEeis7pYemx4WBQ"/>
<details key="identifier" value="toy_model"/>
</annotations>
</constants>
<constants name="toy_container">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_oim4QgAQEeis7pYemx4WBQ"/>
<details key="identifier" value="toy_container"/>
</annotations>
</constants>
<constants name="toy_app">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_oim4QwAQEeis7pYemx4WBQ"/>
<details key="identifier" value="toy_app"/>
</annotations>
</constants>
<constants name="toy_inp_1">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9c9V0AAREeis7pYemx4WBQ"/>
<details key="identifier" value="toy_inp_1"/>
</annotations>
</constants>
<constants name="toy_inp_2">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9c9V0QAREeis7pYemx4WBQ"/>
<details key="identifier" value="toy_inp_2"/>
</annotations>
</constants>
<constants name="toy_output">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9lz6YAASEeis7pYemx4WBQ"/>
<details key="identifier" value="toy_output"/>
</annotations>
</constants>
<constants name="components_var">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9lz6YQASEeis7pYemx4WBQ"/>
<details key="identifier" value="components_var"/>
</annotations>
</constants>
<constants name="container_var">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kRNbAAEBEei-meqqkXX9bA"/>
<details key="identifier" value="container_var"/>
</annotations>
</constants>
<constants name="f_container_var">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kRNbAQEBEei-meqqkXX9bA"/>
<details key="identifier" value="f_container_var"/>
</annotations>
</constants>
<constants name="inst_components_par">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kRNbAgEBEei-meqqkXX9bA"/>
<details key="identifier" value="inst_components_par"/>
</annotations>
</constants>
<constants name="c_mult_others_par">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kRNbAwEBEei-meqqkXX9bA"/>
<details key="identifier" value="c_mult_others_par"/>
</annotations>
</constants>
<constants name="c_multiplicity_var">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROCEAEBEei-meqqkXX9bA"/>
<details key="identifier" value="c_multiplicity_var"/>
</annotations>
</constants>
<constants name="to_unfold_c_var">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROCEQEBEei-meqqkXX9bA"/>
<details key="identifier" value="to_unfold_c_var"/>
</annotations>
</constants>
<axioms comment="safety pattern" name="replicator_ty" predicate="replicator ∈ Component">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_-yCkUgAPEeis7pYemx4WBQ"/>
<details key="label" value="replicator_ty"/>
<details key="comment" value="safety pattern"/>
</annotations>
</axioms>
<axioms name="ballot_box_ty" predicate="ballot_box ∈ Component">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_-yCkUwAPEeis7pYemx4WBQ"/>
<details key="label" value="ballot_box_ty"/>
</annotations>
</axioms>
<axioms name="safety_comp" predicate="safety_comp ∈ Component">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_-yCkVAAPEeis7pYemx4WBQ"/>
<details key="label" value="safety_comp"/>
</annotations>
</axioms>
<axioms name="all_diff_component" predicate="replicator ≠ ballot_box ∧ replicator ≠ safety_comp ∧ ballot_box ≠ safety_comp">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_-yCkVQAPEeis7pYemx4WBQ"/>
<details key="label" value="all_diff_component"/>
</annotations>
</axioms>
<axioms name="safety_container" predicate="safety_container = {replicator ↦ safety_comp, ballot_box ↦ safety_comp}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_oim4RAAQEeis7pYemx4WBQ"/>
<details key="label" value="safety_container"/>
</annotations>
</axioms>
<axioms name="toy_container_ty" predicate="toy_container ∈ Component ⇸ Component">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_oim4RQAQEeis7pYemx4WBQ"/>
<details key="label" value="toy_container_ty"/>
</annotations>
</axioms>
<axioms name="toy_container_def" predicate="toy_container = ∅">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_oim4RgAQEeis7pYemx4WBQ"/>
<details key="label" value="toy_container_def"/>
</annotations>
</axioms>
<axioms name="safety_model" predicate="safety_model ∈ Model">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_oinfUAAQEeis7pYemx4WBQ"/>
<details key="label" value="safety_model"/>
</annotations>
</axioms>
<axioms name="toy_model_ty" predicate="toy_model ∈ Model">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9c9V0gAREeis7pYemx4WBQ"/>
<details key="label" value="toy_model_ty"/>
</annotations>
</axioms>
<axioms name="safety_diff_toy" predicate="safety_model ≠ toy_model">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9c9V0wAREeis7pYemx4WBQ"/>
<details key="label" value="safety_diff_toy"/>
</annotations>
</axioms>
<axioms name="Model_def" predicate="Model = {safety_model,toy_model}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9c9V1AAREeis7pYemx4WBQ"/>
<details key="label" value="Model_def"/>
</annotations>
</axioms>
<axioms comment="toy application" name="toy_app_ty" predicate="toy_app ∈ Component">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9c984AAREeis7pYemx4WBQ"/>
<details key="label" value="toy_app_ty"/>
<details key="comment" value="toy application"/>
</annotations>
</axioms>
<axioms name="toy_inp_1_ty" predicate="toy_inp_1 ∈ IPort">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_9lz6YgASEeis7pYemx4WBQ"/>
<details key="label" value="toy_inp_1_ty"/>
</annotations>
</axioms>
<axioms name="toy_inp_2_ty" predicate="toy_inp_2 ∈ IPort">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROCEgEBEei-meqqkXX9bA"/>
<details key="label" value="toy_inp_2_ty"/>
</annotations>
</axioms>
<axioms name="toy_output_ty" predicate="toy_output ∈ OPort">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROCEwEBEei-meqqkXX9bA"/>
<details key="label" value="toy_output_ty"/>
</annotations>
</axioms>
<axioms name="components_var_def" predicate="components_var = {safety_model ↦ {replicator,ballot_box,safety_comp},&#xA; toy_model ↦ {toy_app}&#xA; }">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROCFAEBEei-meqqkXX9bA"/>
<details key="label" value="components_var_def"/>
</annotations>
</axioms>
<axioms name="container_var_def" predicate="container_var = {safety_model ↦ safety_container, toy_model ↦ toy_container}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROCFQEBEei-meqqkXX9bA"/>
<details key="label" value="container_var_def"/>
</annotations>
</axioms>
<axioms name="f_container_var" predicate="f_container_var = {replicator ↦ safety_comp, ballot_box ↦ safety_comp}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROCFgEBEei-meqqkXX9bA"/>
<details key="label" value="f_container_var"/>
</annotations>
</axioms>
<axioms name="f_acycl" predicate="∀m· container_var(m) ⊆ f_container_var&#xA; ∧ f_container_var;f_container_var ⊆ f_container_var&#xA; ∧ id ∩ f_container_var = ∅" theorem="true">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROCFwEBEei-meqqkXX9bA"/>
<details key="label" value="f_acycl"/>
</annotations>
</axioms>
<axioms name="inst_components_def" predicate="inst_components_par = {safety_comp ↦ toy_app}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROpIAEBEei-meqqkXX9bA"/>
<details key="label" value="inst_components_def"/>
</annotations>
</axioms>
<axioms comment="pattern instantiation" name="c_mult_others_def" predicate="c_mult_others_par = {replicator ↦ 3, ballot_box ↦ 1}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROpIQEBEei-meqqkXX9bA"/>
<details key="label" value="c_mult_others_def"/>
<details key="comment" value="pattern instantiation"/>
</annotations>
</axioms>
<axioms name="c_muliplicity_var_def" predicate="c_multiplicity_var = {safety_model ↦ {safety_comp ↦ 1, replicator ↦ 3, ballot_box ↦ 1}}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROpIgEBEei-meqqkXX9bA"/>
<details key="label" value="c_muliplicity_var_def"/>
</annotations>
</axioms>
<axioms name="c_multiplicity_assign&#xA;" predicate="c_multiplicity_var(safety_model) = c_mult_others_par&#xA; &#x9;&#x9;&#x9; {pc· pc ∈ dom(inst_components_par) pc ↦ card(inst_components_par[{pc}])}" theorem="true">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROpIwEBEei-meqqkXX9bA"/>
<details key="label" value="c_multiplicity_assign&#xA;"/>
</annotations>
</axioms>
<axioms name="to_unfold_c_var_def" predicate="to_unfold_c_var = {safety_comp}">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROpJAEBEei-meqqkXX9bA"/>
<details key="label" value="to_unfold_c_var_def"/>
</annotations>
</axioms>
<axioms name="to_unfold_c_var&#xA;" predicate="to_unfold_c_var = (components_var(safety_model) dom(container_var(safety_model)))" theorem="true">
<annotations source="http:///org/eventb/core/RodinInternalAnnotations">
<details key="name" value="_kROpJQEBEei-meqqkXX9bA"/>
<details key="label" value="to_unfold_c_var&#xA;"/>
</annotations>
</axioms>
</context:Context>