<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0"> <attributes> <uuid>c25bd9e6-a5b5-44b3-a375-87e40d87f985</uuid> <info>a1200993</info> <modeltype>Signavio</modeltype> <theme>labels</theme> </attributes> <state>finished</state> <handlerwrapper>DefaultHandlerWrapper</handlerwrapper> <positions/> <dataelements> <passportStatus>0</passportStatus> <visaStatus>0</visaStatus> <jobStatus>0</jobStatus> <money>0</money> <adress>null</adress> </dataelements> <endpoints> <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout> </endpoints> <dsl>call :a1, :timeout, parameters: { :label => "\"Save money for living expenses in Austria\"", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.money=10000 END call :a2, :timeout, parameters: { :label => "\"Check if passport still valid\"", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.passportStatus=0 END choose :exclusive do alternative "data.passportStatus==0" do call :a4, :timeout, parameters: { :label => "Renew passport", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.passportStatus=1 data.money=data.money-60 END end end call :a6, :timeout, parameters: { :label => "\"Check if visa is needed\"", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.visaStatus=1 END choose :exclusive do alternative "data.passportStatus==1" do call :a5, :timeout, parameters: { :label => "Apply for visa", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.visaStatus=0 data.money=data.money-110 END end end call :a10, :timeout, parameters: { :label => "\"Apply for \\"Rot-Weiß-Rot\\" card\"", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.money=data.money-200 END parallel :wait => -1 do parallel_branch do call :a12, :timeout, parameters: { :label => "\"Organise bank account\"", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.money=data.money+100 END end parallel_branch do call :a13, :timeout, parameters: { :label => "\"Organise accomodation\"", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.adress="Sonnenallee 51/1/16" END end end call :a15, :timeout, parameters: { :label => "\"Enter Austria\"", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.money=data.money-1000 data.jobStatus=1 END loop pre_test{data.jobStatus==0} do call :a3, :timeout, parameters: { :label => "Search for a job", :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }, finalize: <<-END data.jobStatus=1 END end </dsl> <dslx> <description xmlns="http://cpee.org/ns/description/1.0"> <call id="a1" endpoint="timeout"> <parameters> <label>"Save money for living expenses in Austria"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.money=10000 </finalize> <update output="result"/> </call> <call id="a2" endpoint="timeout"> <parameters> <label>"Check if passport still valid"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.passportStatus=0 </finalize> <update output="result"/> </call> <choose mode="exclusive"> <alternative condition="data.passportStatus==0"> <call id="a4" endpoint="timeout"> <parameters> <label>Renew passport</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.passportStatus=1 data.money=data.money-60</finalize> <update output="result"/> </call> </alternative> <otherwise/> </choose> <call id="a6" endpoint="timeout"> <parameters> <label>"Check if visa is needed"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.visaStatus=1</finalize> <update output="result"/> </call> <choose mode="exclusive"> <alternative condition="data.passportStatus==1"> <call id="a5" endpoint="timeout"> <parameters> <label>Apply for visa</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.visaStatus=0 data.money=data.money-110</finalize> <update output="result"/> </call> </alternative> <otherwise/> </choose> <call id="a10" endpoint="timeout"> <parameters> <label>"Apply for \"Rot-Weiß-Rot\" card"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.money=data.money-200</finalize> <update output="result"/> </call> <parallel wait="-1"> <parallel_branch> <call id="a12" endpoint="timeout"> <parameters> <label>"Organise bank account"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.money=data.money+100</finalize> <update output="result"/> </call> </parallel_branch> <parallel_branch> <call id="a13" endpoint="timeout"> <parameters> <label>"Organise accomodation"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.adress="Sonnenallee 51/1/16"</finalize> <update output="result"/> </call> </parallel_branch> </parallel> <call id="a15" endpoint="timeout"> <parameters> <label>"Enter Austria"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.money=data.money-1000 data.jobStatus=1</finalize> <update output="result"/> </call> <loop mode="pre_test" condition="data.jobStatus==0"> <call id="a3" endpoint="timeout"> <parameters> <label>Search for a job</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.jobStatus=1</finalize> <update output="result"/> </call> </loop> </description> </dslx> <status> <id>0</id> <message>undefined</message> </status> <description> <description xmlns="http://cpee.org/ns/description/1.0"> <call id="a1" endpoint="timeout"> <parameters> <label>"Save money for living expenses in Austria"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.money=10000 </finalize> <update output="result"/> </call> <call id="a2" endpoint="timeout"> <parameters> <label>"Check if passport still valid"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.passportStatus=0 </finalize> <update output="result"/> </call> <choose mode="exclusive"> <alternative condition="data.passportStatus==0"> <call id="a4" endpoint="timeout"> <parameters> <label>Renew passport</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.passportStatus=1 data.money=data.money-60</finalize> <update output="result"/> </call> </alternative> <otherwise/> </choose> <call id="a6" endpoint="timeout"> <parameters> <label>"Check if visa is needed"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.visaStatus=1</finalize> <update output="result"/> </call> <choose mode="exclusive"> <alternative condition="data.passportStatus==1"> <call id="a5" endpoint="timeout"> <parameters> <label>Apply for visa</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.visaStatus=0 data.money=data.money-110</finalize> <update output="result"/> </call> </alternative> <otherwise/> </choose> <call id="a10" endpoint="timeout"> <parameters> <label>"Apply for \"Rot-Weiß-Rot\" card"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.money=data.money-200</finalize> <update output="result"/> </call> <parallel wait="-1"> <parallel_branch> <call id="a12" endpoint="timeout"> <parameters> <label>"Organise bank account"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.money=data.money+100</finalize> <update output="result"/> </call> </parallel_branch> <parallel_branch> <call id="a13" endpoint="timeout"> <parameters> <label>"Organise accomodation"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.adress="Sonnenallee 51/1/16"</finalize> <update output="result"/> </call> </parallel_branch> </parallel> <call id="a15" endpoint="timeout"> <parameters> <label>"Enter Austria"</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.money=data.money-1000 data.jobStatus=1</finalize> <update output="result"/> </call> <loop mode="pre_test" condition="data.jobStatus==0"> <call id="a3" endpoint="timeout"> <parameters> <label>Search for a job</label> <method>:post</method> <arguments> <timeout>2</timeout> </arguments> </parameters> <finalize output="result">data.jobStatus=1</finalize> <update output="result"/> </call> </loop> </description> </description> <transformation> <description type="copy"/> <dataelements type="none"/> <endpoints type="none"/> </transformation> </properties>