coyote/Samples/CoffeeMachineTasks/Coffee.dgml

84 строки
16 KiB
Plaintext
Исходник Постоянная ссылка Обычный вид История

2022-03-17 05:58:02 +03:00
<EFBFBD><EFBFBD><?xml version="1.0" encoding="utf-16"?>
<DirectedGraph GraphDirection="TopToBottom" Layout="Sugiyama" ZoomLevel="-1" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
<Node Id="CheckDoorOpenAsync" Category="Action" Bounds="581.203333333333,129.5675,138.79,25.96" />
<Node Id="CheckHopperLevelAsync" Category="Action" Bounds="171.628333333333,129.5675,149.94,25.96" />
<Node Id="CheckPortaFilterCoffeeLevelAsync" Category="Action" Bounds="352.496666666667,129.5675,198.203333333333,25.96" />
<Node Id="CheckSensors" Category="Action" Bounds="405.181666666667,71.9200000000001,92.8333333333335,25.96" Label="CheckSensors" />
<Node Id="CheckWaterLevelAsync" Category="Action" Bounds="0,129.5675,141.196666666667,25.96" />
<Node Id="DumpGrinds" Category="State" Bounds="55.116666666667,315.095,106.683333333333,25.96" Label="4. CleanupAsync" />
<Node Id="GrindingBeans" Category="State" Bounds="192.121666666667,315.095,92.6733333333333,25.96" Label="2. GrindBeans" />
<Node Id="HeatingWater" Category="State" Bounds="315.531666666667,315.095,129.853333333333,25.96" Label="1. StartHeatingWater" />
<Node Id="Init" Category="State" Bounds="404.368333333333,0,94.46,25.96" Label="InitializeAsync" />
<Node Id="MakeCoffeeAsync" Category="State" Bounds="323.146666666667,257.4475,114.623333333333,25.96" />
<Node Id="MakingShots" Category="State" Bounds="475.555,315.095,121.806666666667,25.96" Label="3. MakeShotsAsync" />
<Node Id="MonitorPortaFilter" Category="Action" Bounds="153.15,387.015,116.616666666667,25.96" />
<Node Id="MonitorShots" Category="Action" Bounds="639.908333333333,387.015,123.1,25.96" Label="MonitorShotsAsync" />
<Node Id="MonitorWaterTemperature" Category="Action" Bounds="300.066666666667,387.015,160.783333333333,25.96" />
<Node Id="OnError" Category="State" Bounds="619.87,201.4875,61.4566666666667,25.96" />
<Node Id="Ready" Category="State" Bounds="346.498333333333,458.935,67.9200000000001,25.96" Label="OnReady" />
<Node Id="RefillRequired" Category="State" Bounds="192.198333333333,201.4875,108.8,25.96" Label="OnRefillRequired" />
<Node Id="bf4cf081-9525-4721-8b31-523f7f3113e31" Category="Comment" Bounds="41.138337910032,-28.1049999999996,247.03,121.72" Label="This graph shows the async processes provided by an espresso machine. The machine provides automatic grinding of coffee beans, and pouring of shots and dumping of used coffee grinds. If an error occurs the machine needs to be fixed, then turned off and back on." UseManualLocation="True" />
</Nodes>
<Links>
<Link Source="CheckDoorOpenAsync" Target="OnError" Bounds="650.598333333333,155.5275,1.13686837721616E-13,36.96" />
<Link Source="CheckHopperLevelAsync" Target="RefillRequired" Bounds="246.598333333333,155.5275,2.8421709430404E-14,36.9599499999999" Label="out of coffee" LabelBounds="250.598333333333,166.027475,67.8866666666667,15.96" />
<Link Source="CheckSensors" Target="CheckDoorOpenAsync" Bounds="495.921446577125,97.7397822649321,101.225151712913,29.3235021777396" />
<Link Source="CheckSensors" Target="CheckHopperLevelAsync" Bounds="301.420404307838,97.5132695263518,105.323941378119,29.6178629785126" />
<Link Source="CheckSensors" Target="CheckPortaFilterCoffeeLevelAsync" Bounds="451.598333333334,97.8800000000001,1.13686837721616E-13,22.6874999999999" />
<Link Source="CheckSensors" Target="CheckWaterLevelAsync" Bounds="150.015007198137,91.9231096894139,255.16665946853,38.6081889808716" />
<Link Source="CheckWaterLevelAsync" Target="RefillRequired" Bounds="102.362537841262,155.5275,104.140341079569,42.5555007012815" Label="out of water" LabelBounds="155.189252669651,158.993861482958,64.5433333333335,15.96" />
<Link Source="GrindingBeans" Target="MonitorPortaFilter" Bounds="219.494439789559,341.055,14.090979194498,37.5341934691958" />
<Link Source="HeatingWater" Target="MonitorWaterTemperature" Bounds="380.458333333333,341.055,0,36.9599999999999" Label="ReadWaterTemperature" LabelBounds="384.458333333333,351.555,124.286666666667,15.96" />
<Link Source="Init" Target="CheckSensors" Bounds="451.598333333333,25.96,4.54747350886464E-13,36.9600000000001" Label="power on" LabelBounds="455.598333333333,36.46,50.3133333333333,15.96" />
<Link Source="MakeCoffeeAsync" Target="DumpGrinds" Bounds="170.324304701278,282.411482316951,153.589817392692,32.5516960244645" />
<Link Source="MakeCoffeeAsync" Target="GrindingBeans" Bounds="278.77031912584,283.40755,69.7150474934411,28.3020754551112" />
<Link Source="MakeCoffeeAsync" Target="HeatingWater" Bounds="380.458333333333,283.40755,0,22.68745" />
<Link Source="MakeCoffeeAsync" Target="MakingShots" Bounds="415.583564371307,283.40755,77.3075043155763,28.5678236516473" />
<Link Source="MakingShots" Target="MonitorShots" Bounds="566.237254356693,341.055,97.1918379161409,42.3638605025992" />
<Link Source="MonitorPortaFilter" Target="MonitorPortaFilter" Bounds="182.304168701172,357.015014648438,58.3045043945313,30" Label="PortaFilterLevelEvent" LabelBounds="82.0315238251466,342.815947634787,109.65,15.96" />
<Link Source="MonitorShots" Target="MonitorShots" Bounds="670.683349609375,357.015014648438,61.5459594726563,30" Label="ShotCompleteEvent" LabelBounds="625.988535727117,337.18615844028,104.586666666667,15.96" />
<Link Source="MonitorWaterTemperature" Target="Ready" Bounds="380.458333333333,412.975,2.8421709430404E-13,36.9599999999999" Label="Hot" LabelBounds="384.458333333333,423.475,19.6166666666668,15.96" />
</Links>
<Categories>
<Category Id="Action" />
<Category Id="Comment" Label="Comment" Description="Represents a user defined comment on the diagram" CanBeDataDriven="True" IsProviderRoot="False" NavigationActionLabel="Comments" />
<Category Id="State" />
</Categories>
<Properties>
<Property Id="Bounds" DataType="System.Windows.Rect" />
<Property Id="CanBeDataDriven" Label="CanBeDataDriven" Description="CanBeDataDriven" DataType="System.Boolean" />
<Property Id="Expression" DataType="System.String" />
<Property Id="GraphDirection" DataType="Microsoft.VisualStudio.Diagrams.Layout.LayoutOrientation" />
<Property Id="GroupLabel" DataType="System.String" />
<Property Id="IsEnabled" DataType="System.Boolean" />
<Property Id="IsProviderRoot" Label="IsProviderRoot" Description="IsProviderRoot" DataType="System.Boolean" />
<Property Id="Label" Label="Label" Description="Displayable label of an Annotatable object" DataType="System.String" />
<Property Id="LabelBounds" DataType="System.Windows.Rect" />
<Property Id="Layout" DataType="System.String" />
<Property Id="NavigationActionLabel" Label="NavigationActionLabel" Description="NavigationActionLabel" DataType="System.String" />
<Property Id="TargetType" DataType="System.Type" />
<Property Id="UseManualLocation" DataType="System.Boolean" />
<Property Id="Value" DataType="System.String" />
<Property Id="ValueLabel" DataType="System.String" />
<Property Id="ZoomLevel" DataType="System.String" />
</Properties>
<Styles>
<Style TargetType="Node">
<Condition Expression="HasCategory('State')" />
<Setter Property="Background" Value="Green" />
</Style>
<Style TargetType="Node">
<Condition Expression="HasCategory('Action')" />
<Setter Property="Background" Value="CadetBlue" />
</Style>
<Style TargetType="Node" GroupLabel="Comment" ValueLabel="Has comment">
<Condition Expression="HasCategory('Comment')" />
<Setter Property="Background" Value="#FFFFFACD" />
<Setter Property="Stroke" Value="#FFE5C365" />
<Setter Property="StrokeThickness" Value="1" />
<Setter Property="NodeRadius" Value="2" />
<Setter Property="MaxWidth" Value="250" />
</Style>
</Styles>
</DirectedGraph>