Commit 335857d0 authored by Gerson Sunyé's avatar Gerson Sunyé
Browse files

new exercise : conflicts-with operation

parent 43a30b49
......@@ -384,44 +384,70 @@ post: result = value >= begin and value <= end
\end{question}
\begin{solution}
\lstset{language=Java}
\lstset{language=Java, caption={Class Interval},}
\lstinputlisting[language=Java]{./src/main/java/fr/unantes/agenda/Interval.java}
\end{solution}
\section{Implementing Operations from Activity diagrams}
Consider the classes \code{Event}, \code{SimpleEvent} and \code{}
Consider the classes \code{Event}, \code{SingleEvent} and \code{RecurrentEvent} illustrated by Figure~\ref{fig:recurrent}.
The class \code{Event} has only one operations, \code{conflictsWith()}, whose algorithm is given by Figure~\ref{fig:conflicts}.
The goal of this operation is to check whether two events happen at the same time.
This is rather simple for single events, but complex for recurrent events.
%
%
% \code{Event}
%
% \code{RecurringEvent}
%
% Event::conflictsWith(other : Event): Boolean
%
% RecurringEvent::conflicts(other : Event): Boolean
%
% RecurringEvent::conflicts(other : RecurringEvent): Boolean
%
% daily x daily
% daily x weekly
% daily x monthly
% daily x yearly
%
% weekly x weekly
% weekly x monthly
% weekly x yearly
%
% monthly x monthly
% monthly x yearly
%
% yearly x yearly
%
%
% Repetition: daily, weekly, monthly, yearly
\begin{figure}[htbp]
\centering
\includegraphics[width=.8\linewidth]{cd-recurrent-event.png}
\caption{Classes «Event», «SingleEvent», and «RecurrentEvent»}
\label{fig:recurrent}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{ad-conflicts.png}
\caption{Activity Diagram for «conflictsWith» operation}
\label{fig:conflicts}
\end{figure}
\begin{question}
First, use a «double dispatch» mechanism to choose the correct implementation of the \code{conflictsWith()} operation.
\begin{inparaenum}[(A)]
\item Add the methods \code{conflictsWithSingleEvent()} and \code{conflictsWithRecurrentEvent()} to the \code{Event} class.
\item Implement the methods \code{SingleEvent::conflictsWith()} and \code{RecurrentEvent::conflictsWith()} and make them call the correct implementation methods.
\end{inparaenum}
\end{question}
\begin{solution}
\begin{enumerate}
\item In the implementation I use the \code{java.time} package. It uses date and time without considering time zones.
\item The code is still incomplete: the intersection method is still Work TODO.
\item I'm not a big fan of the double dispatch: it makes the superclass depend on subclasses (bad practice).
\end{enumerate}
\end{solution}
\begin{question}
Add a method named \code{occurrences()} to class \code{RecurrentEvent}.
This method must generate all occurrences of a recurrent event.
\end{question}
\begin{solution}
\lstset{language=Java, caption={Operation conflictsWith()},}
\lstinputlisting{./src/main/java/fr/unantes/agenda/Event.java}
\lstinputlisting{./src/main/java/fr/unantes/agenda/AbstractEvent.java}
\lstinputlisting{./src/main/java/fr/unantes/agenda/SingleEvent.java}
\lstinputlisting{./src/main/java/fr/unantes/agenda/RecurrentEvent.java}
\end{solution}
\begin{question}
Finally, implement the 3 \code{conflictsWith()} methods: one that compares 2 single events, one that compares a single event with
a recurrent event, and one that compares two recurrent events.
\end{question}
\end{document}
......
......@@ -61,9 +61,14 @@
<packagedElement xmi:type="uml:Class" xmi:id="_HIZIQBYqEeitmIFlZvlVIA" name="RecurrentEvent" visibility="public">
<generalization xmi:id="_T5CJMBYqEeitmIFlZvlVIA" general="_1G9KEBCtEeibhJJLmdkcBw"/>
<ownedAttribute xmi:id="_exGQMBYwEeitmIFlZvlVIA" name="frequency" visibility="public" type="_2zqjgBCtEeibhJJLmdkcBw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_exGQMRYwEeitmIFlZvlVIA"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_exGQMRYwEeitmIFlZvlVIA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_exGQMhYwEeitmIFlZvlVIA" value="1"/>
</ownedAttribute>
<ownedAttribute xmi:id="_LRApUBxSEeiktqE5H6Adsg" name="end" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/XMLPrimitiveTypes.library.uml#Date"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LRBQYBxSEeiktqE5H6Adsg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LRB3cBxSEeiktqE5H6Adsg" value="1"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_WNHrsBYqEeitmIFlZvlVIA" name="SingleEvent" visibility="public">
<generalization xmi:id="_ZBVfwBYqEeitmIFlZvlVIA" general="_1G9KEBCtEeibhJJLmdkcBw"/>
......@@ -74,4 +79,107 @@
</templateBinding>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_5noKkBYsEeitmIFlZvlVIA" name="DateTime" visibility="public"/>
<packagedElement xmi:type="uml:Activity" xmi:id="_DN2fQBwSEeiktqE5H6Adsg" name="Conflicts With" node="_i5qDsBxUEeiktqE5H6Adsg _kcKYQBxUEeiktqE5H6Adsg _vwt1sBxUEeiktqE5H6Adsg _IAVbYBxVEeiktqE5H6Adsg _RUGs0BxVEeiktqE5H6Adsg _cOZQIBxVEeiktqE5H6Adsg _leoFYBxVEeiktqE5H6Adsg _vvKhEBxVEeiktqE5H6Adsg _HFZnsBxWEeiktqE5H6Adsg _Iu6jMBxWEeiktqE5H6Adsg _QV14UBxWEeiktqE5H6Adsg _WKCEgBxWEeiktqE5H6Adsg _e4kh8BxWEeiktqE5H6Adsg _iK084BxWEeiktqE5H6Adsg">
<ownedParameter xmi:id="_kcJxMBxUEeiktqE5H6Adsg" name="one"/>
<edge xmi:type="uml:ControlFlow" xmi:id="_xkan8BxUEeiktqE5H6Adsg" target="_vwt1sBxUEeiktqE5H6Adsg" source="_i5qDsBxUEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_xkan8RxUEeiktqE5H6Adsg" name="Initial1_To_Decision1_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_xkbPABxUEeiktqE5H6Adsg" name="Initial1_To_Decision1_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_QKv4EBxVEeiktqE5H6Adsg" target="_IAVbYBxVEeiktqE5H6Adsg" source="_vwt1sBxUEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_QKv4ERxVEeiktqE5H6Adsg" name="Decision1_To_Compare Single Events_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_QKwfIBxVEeiktqE5H6Adsg" name="Decision1_To_Compare Single Events_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_TkjFcBxVEeiktqE5H6Adsg" target="_RUGs0BxVEeiktqE5H6Adsg" source="_IAVbYBxVEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_TkjsgBxVEeiktqE5H6Adsg" name="Compare Single Events_To_Final_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_TkjsgRxVEeiktqE5H6Adsg" name="Compare Single Events_To_Final_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_huy9oBxVEeiktqE5H6Adsg" target="_cOZQIBxVEeiktqE5H6Adsg" source="_vwt1sBxUEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_huy9oRxVEeiktqE5H6Adsg" name="Comparison Kind_To_Compare SIngle with Recurrent_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_huzksBxVEeiktqE5H6Adsg" name="Comparison Kind_To_Compare SIngle with Recurrent_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_qM2IABxVEeiktqE5H6Adsg" target="_leoFYBxVEeiktqE5H6Adsg" source="_cOZQIBxVEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_qM2IARxVEeiktqE5H6Adsg" name="Compare SIngle with Recurrent_To_Generate all Recurring Occurrences_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_qM2IAhxVEeiktqE5H6Adsg" name="Compare SIngle with Recurrent_To_Generate all Recurring Occurrences_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_2BxHkBxVEeiktqE5H6Adsg" target="_vvKhEBxVEeiktqE5H6Adsg" source="_leoFYBxVEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_2BxHkRxVEeiktqE5H6Adsg" name="Generate all Recurring Occurrences_To_Check if Occurrences contain Single Event_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_2BxuoBxVEeiktqE5H6Adsg" name="Generate all Recurring Occurrences_To_Check if Occurrences contain Single Event_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_2ufqsBxVEeiktqE5H6Adsg" target="_RUGs0BxVEeiktqE5H6Adsg" source="_vvKhEBxVEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_2ufqsRxVEeiktqE5H6Adsg" name="Check if Occurrences contain Single Event_To_Final_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_2ufqshxVEeiktqE5H6Adsg" name="Check if Occurrences contain Single Event_To_Final_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_Ne6HcBxWEeiktqE5H6Adsg" target="_Iu6jMBxWEeiktqE5H6Adsg" source="_vwt1sBxUEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_Ne6HcRxWEeiktqE5H6Adsg" name="Comparison Kind_To_Compare two Recurrent Events_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_Ne6HchxWEeiktqE5H6Adsg" name="Comparison Kind_To_Compare two Recurrent Events_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_OkUQUBxWEeiktqE5H6Adsg" target="_HFZnsBxWEeiktqE5H6Adsg" source="_Iu6jMBxWEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_OkU3YBxWEeiktqE5H6Adsg" name="Compare two Recurrent Events_To_Fork1_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_OkU3YRxWEeiktqE5H6Adsg" name="Compare two Recurrent Events_To_Fork1_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_ca_sQBxWEeiktqE5H6Adsg" target="_QV14UBxWEeiktqE5H6Adsg" source="_HFZnsBxWEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_ca_sQRxWEeiktqE5H6Adsg" name="Fork1_To_Generate all occurrences for event One_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_cbATUBxWEeiktqE5H6Adsg" name="Fork1_To_Generate all occurrences for event One_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_dUBmABxWEeiktqE5H6Adsg" target="_WKCEgBxWEeiktqE5H6Adsg" source="_HFZnsBxWEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_dUCNEBxWEeiktqE5H6Adsg" name="Fork1_To_Generate all occurrences for event Other_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_dUCNERxWEeiktqE5H6Adsg" name="Fork1_To_Generate all occurrences for event Other_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_gggwIBxWEeiktqE5H6Adsg" target="_e4kh8BxWEeiktqE5H6Adsg" source="_QV14UBxWEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_gggwIRxWEeiktqE5H6Adsg" name="Generate all occurrences for event One_To_Join1_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_gggwIhxWEeiktqE5H6Adsg" name="Generate all occurrences for event One_To_Join1_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_heai0BxWEeiktqE5H6Adsg" target="_e4kh8BxWEeiktqE5H6Adsg" source="_WKCEgBxWEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_hebJ4BxWEeiktqE5H6Adsg" name="Generate all occurrences for event Other_To_Join1_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_hebJ4RxWEeiktqE5H6Adsg" name="Generate all occurrences for event Other_To_Join1_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_l4hWoBxWEeiktqE5H6Adsg" target="_iK084BxWEeiktqE5H6Adsg" source="_e4kh8BxWEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_l4h9sBxWEeiktqE5H6Adsg" name="Join1_To_Intersection_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_l4h9sRxWEeiktqE5H6Adsg" name="Join1_To_Intersection_weight"/>
</edge>
<edge xmi:type="uml:ControlFlow" xmi:id="_mnO2wBxWEeiktqE5H6Adsg" target="_RUGs0BxVEeiktqE5H6Adsg" source="_iK084BxWEeiktqE5H6Adsg">
<guard xmi:type="uml:LiteralBoolean" xmi:id="_mnO2wRxWEeiktqE5H6Adsg" name="Intersection_To_Final_guard" value="true"/>
<weight xmi:type="uml:LiteralInteger" xmi:id="_mnO2whxWEeiktqE5H6Adsg" name="Intersection_To_Final_weight"/>
</edge>
<node xmi:type="uml:InitialNode" xmi:id="_i5qDsBxUEeiktqE5H6Adsg" name="Initial1" outgoing="_xkan8BxUEeiktqE5H6Adsg"/>
<node xmi:type="uml:ActivityParameterNode" xmi:id="_kcKYQBxUEeiktqE5H6Adsg" name="Parameter1" parameter="_kcJxMBxUEeiktqE5H6Adsg">
<upperBound xmi:type="uml:LiteralInteger" xmi:id="_kcKYQRxUEeiktqE5H6Adsg" value="1"/>
</node>
<node xmi:type="uml:DecisionNode" xmi:id="_vwt1sBxUEeiktqE5H6Adsg" name="Comparison Kind" incoming="_xkan8BxUEeiktqE5H6Adsg" outgoing="_QKv4EBxVEeiktqE5H6Adsg _huy9oBxVEeiktqE5H6Adsg _Ne6HcBxWEeiktqE5H6Adsg"/>
<node xmi:type="uml:OpaqueAction" xmi:id="_IAVbYBxVEeiktqE5H6Adsg" name="Compare Single Events" incoming="_QKv4EBxVEeiktqE5H6Adsg" outgoing="_TkjFcBxVEeiktqE5H6Adsg">
<body>// TODO body of OpaqueAction1</body>
</node>
<node xmi:type="uml:ActivityFinalNode" xmi:id="_RUGs0BxVEeiktqE5H6Adsg" name="Final" incoming="_TkjFcBxVEeiktqE5H6Adsg _2ufqsBxVEeiktqE5H6Adsg _mnO2wBxWEeiktqE5H6Adsg"/>
<node xmi:type="uml:OpaqueAction" xmi:id="_cOZQIBxVEeiktqE5H6Adsg" name="Compare SIngle with Recurrent" incoming="_huy9oBxVEeiktqE5H6Adsg" outgoing="_qM2IABxVEeiktqE5H6Adsg">
<body>// TODO body of OpaqueAction2</body>
</node>
<node xmi:type="uml:OpaqueAction" xmi:id="_leoFYBxVEeiktqE5H6Adsg" name="Generate all Recurring Occurrences" incoming="_qM2IABxVEeiktqE5H6Adsg" outgoing="_2BxHkBxVEeiktqE5H6Adsg">
<body>// TODO body of OpaqueAction3</body>
</node>
<node xmi:type="uml:OpaqueAction" xmi:id="_vvKhEBxVEeiktqE5H6Adsg" name="Check if Occurrences contain Single Event" incoming="_2BxHkBxVEeiktqE5H6Adsg" outgoing="_2ufqsBxVEeiktqE5H6Adsg">
<body>// TODO body of OpaqueAction4</body>
</node>
<node xmi:type="uml:ForkNode" xmi:id="_HFZnsBxWEeiktqE5H6Adsg" name="Fork1" incoming="_OkUQUBxWEeiktqE5H6Adsg" outgoing="_ca_sQBxWEeiktqE5H6Adsg _dUBmABxWEeiktqE5H6Adsg"/>
<node xmi:type="uml:OpaqueAction" xmi:id="_Iu6jMBxWEeiktqE5H6Adsg" name="Compare two Recurrent Events" incoming="_Ne6HcBxWEeiktqE5H6Adsg" outgoing="_OkUQUBxWEeiktqE5H6Adsg">
<body>// TODO body of OpaqueAction5</body>
</node>
<node xmi:type="uml:OpaqueAction" xmi:id="_QV14UBxWEeiktqE5H6Adsg" name="Generate all occurrences for event One" incoming="_ca_sQBxWEeiktqE5H6Adsg" outgoing="_gggwIBxWEeiktqE5H6Adsg">
<body>// TODO body of OpaqueAction6</body>
</node>
<node xmi:type="uml:OpaqueAction" xmi:id="_WKCEgBxWEeiktqE5H6Adsg" name="Generate all occurrences for event Other" incoming="_dUBmABxWEeiktqE5H6Adsg" outgoing="_heai0BxWEeiktqE5H6Adsg">
<body>// TODO body of OpaqueAction7</body>
</node>
<node xmi:type="uml:JoinNode" xmi:id="_e4kh8BxWEeiktqE5H6Adsg" name="Join1" incoming="_gggwIBxWEeiktqE5H6Adsg _heai0BxWEeiktqE5H6Adsg" outgoing="_l4hWoBxWEeiktqE5H6Adsg">
<joinSpec xmi:type="uml:LiteralBoolean" xmi:id="_e4lJABxWEeiktqE5H6Adsg" name="Join1" value="true"/>
</node>
<node xmi:type="uml:OpaqueAction" xmi:id="_iK084BxWEeiktqE5H6Adsg" name="Intersection" incoming="_l4hWoBxWEeiktqE5H6Adsg" outgoing="_mnO2wBxWEeiktqE5H6Adsg">
<body>// TODO body of OpaqueAction8</body>
</node>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_3PnQMBxUEeiktqE5H6Adsg" name="Occurrence" visibility="public">
<ownedAttribute xmi:id="_83b0UBxUEeiktqE5H6Adsg" name="slot" visibility="public" type="_3AIj4BYsEeitmIFlZvlVIA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_83b0URxUEeiktqE5H6Adsg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_83b0UhxUEeiktqE5H6Adsg" value="1"/>
</ownedAttribute>
</packagedElement>
</uml:Model>
......@@ -27,6 +27,10 @@
<description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']"/>
<target xmi:type="uml:Model" href="model.uml#_zgybUBCeEeiFsNUTFhALig"/>
</ownedRepresentationDescriptors>
<ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_Dk4fMBwSEeiktqE5H6Adsg" name="NewModel Activity Diagram" repPath="#_Dks5ABwSEeiktqE5H6Adsg">
<description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Activity%20Diagram']"/>
<target xmi:type="uml:Activity" href="model.uml#_DN2fQBwSEeiktqE5H6Adsg"/>
</ownedRepresentationDescriptors>
</ownedViews>
<ownedViews xmi:type="viewpoint:DView" xmi:id="_zi5UIBCeEeiFsNUTFhALig">
<viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Review']"/>
......@@ -249,7 +253,7 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_4H_5MxCtEeibhJJLmdkcBw"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_4H_SIRCtEeibhJJLmdkcBw" fontName=".AppleSystemUIFont" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_4H_SIhCtEeibhJJLmdkcBw" x="48" y="80" width="120" height="100"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_4H_SIhCtEeibhJJLmdkcBw" x="80" y="80" width="120" height="100"/>
</children>
<children xmi:type="notation:Node" xmi:id="_MkK0cBYqEeitmIFlZvlVIA" type="2003" element="_Mj3ScBYqEeitmIFlZvlVIA">
<children xmi:type="notation:Node" xmi:id="_MkOe0BYqEeitmIFlZvlVIA" type="5007"/>
......@@ -258,6 +262,10 @@
<styles xmi:type="notation:FontStyle" xmi:id="_gYVTwRYwEeitmIFlZvlVIA" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_gYVTwhYwEeitmIFlZvlVIA"/>
</children>
<children xmi:type="notation:Node" xmi:id="_MMzjMBxSEeiktqE5H6Adsg" type="3010" element="_MMidcBxSEeiktqE5H6Adsg">
<styles xmi:type="notation:FontStyle" xmi:id="_MMzjMRxSEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_MMzjMhxSEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_MkPF4RYqEeitmIFlZvlVIA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_MkPF4hYqEeitmIFlZvlVIA"/>
</children>
......@@ -273,6 +281,19 @@
<styles xmi:type="notation:ShapeStyle" xmi:id="_XyiKURYqEeitmIFlZvlVIA" fontName=".AppleSystemUIFont" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_XyiKUhYqEeitmIFlZvlVIA" x="424" y="224" width="120" height="100"/>
</children>
<children xmi:type="notation:Node" xmi:id="_4OFqoBxUEeiktqE5H6Adsg" type="2003" element="_4N3oMBxUEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_4OFqoxxUEeiktqE5H6Adsg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_4OHf0BxUEeiktqE5H6Adsg" type="7004">
<children xmi:type="notation:Node" xmi:id="_9iaD8BxUEeiktqE5H6Adsg" type="3010" element="_9iMokBxUEeiktqE5H6Adsg">
<styles xmi:type="notation:FontStyle" xmi:id="_9iaD8RxUEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_9iaD8hxUEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_4OHf0RxUEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_4OHf0hxUEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_4OFqoRxUEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_4OFqohxUEeiktqE5H6Adsg" x="652" y="224" width="120" height="100"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_utREIhCtEeibhJJLmdkcBw"/>
<edges xmi:type="notation:Edge" xmi:id="_T5YugBYqEeitmIFlZvlVIA" type="4001" element="_T5Jd8BYqEeitmIFlZvlVIA" source="_MkK0cBYqEeitmIFlZvlVIA" target="_17C5cBCtEeibhJJLmdkcBw">
<children xmi:type="notation:Node" xmi:id="_T5Z8oBYqEeitmIFlZvlVIA" type="6001">
......@@ -401,7 +422,7 @@
<description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_Class']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_Class']"/>
<ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_gYIfcBYwEeitmIFlZvlVIA" name="frequency : Frequency [0..1]">
<ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_gYIfcBYwEeitmIFlZvlVIA" name="frequency : Frequency [1]">
<target xmi:type="uml:Property" href="model.uml#_exGQMBYwEeitmIFlZvlVIA"/>
<semanticElements xmi:type="uml:Property" href="model.uml#_exGQMBYwEeitmIFlZvlVIA"/>
<ownedStyle xmi:type="diagram:Square" xmi:id="_gYIfcRYwEeitmIFlZvlVIA" labelAlignment="LEFT">
......@@ -409,6 +430,14 @@
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_ReusedMappingForFeatures']/@subNodeMappings[name='CD_Property']"/>
</ownedElements>
<ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_MMidcBxSEeiktqE5H6Adsg" name="end : Date [1]">
<target xmi:type="uml:Property" href="model.uml#_LRApUBxSEeiktqE5H6Adsg"/>
<semanticElements xmi:type="uml:Property" href="model.uml#_LRApUBxSEeiktqE5H6Adsg"/>
<ownedStyle xmi:type="diagram:Square" xmi:id="_MMjEgBxSEeiktqE5H6Adsg" labelAlignment="LEFT">
<description xmi:type="style:SquareDescription" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_ReusedMappingForFeatures']/@subNodeMappings[name='CD_Property']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_ReusedMappingForFeatures']/@subNodeMappings[name='CD_Property']"/>
</ownedElements>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_T5Jd8BYqEeitmIFlZvlVIA" sourceNode="_Mj3ScBYqEeitmIFlZvlVIA" targetNode="_16wlkBCtEeibhJJLmdkcBw">
<target xmi:type="uml:Generalization" href="model.uml#_T5CJMBYqEeitmIFlZvlVIA"/>
......@@ -440,9 +469,728 @@
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@edgeMappings[name='CD_Generalization']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_4N3oMBxUEeiktqE5H6Adsg" name="Occurrence" tooltipText="NewModel::Occurrence" width="12" height="10">
<target xmi:type="uml:Class" href="model.uml#_3PnQMBxUEeiktqE5H6Adsg"/>
<semanticElements xmi:type="uml:Class" href="model.uml#_3PnQMBxUEeiktqE5H6Adsg"/>
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
<arrangeConstraints>KEEP_SIZE</arrangeConstraints>
<arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_4N4PQBxUEeiktqE5H6Adsg" labelSize="9" borderSize="1" borderSizeComputationExpression="1" borderColor="39,76,114" backgroundStyle="Liquid" foregroundColor="232,239,247">
<labelFormat>bold</labelFormat>
<description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_Class']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_Class']"/>
<ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_9iMokBxUEeiktqE5H6Adsg" name="slot : TimePeriod [1]">
<target xmi:type="uml:Property" href="model.uml#_83b0UBxUEeiktqE5H6Adsg"/>
<semanticElements xmi:type="uml:Property" href="model.uml#_83b0UBxUEeiktqE5H6Adsg"/>
<ownedStyle xmi:type="diagram:Square" xmi:id="_9iNPoBxUEeiktqE5H6Adsg" labelAlignment="LEFT">
<description xmi:type="style:SquareDescription" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_ReusedMappingForFeatures']/@subNodeMappings[name='CD_Property']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer/@containerMappings[name='CD_ReusedMappingForFeatures']/@subNodeMappings[name='CD_Property']"/>
</ownedElements>
</ownedDiagramElements>
<description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']"/>
<filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_us7s9hCtEeibhJJLmdkcBw"/>
<activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.obeonetwork.dsl.uml2.design/description/uml2.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Class%20Diagram']/@defaultLayer"/>
<target xmi:type="uml:Model" href="model.uml#_zgybUBCeEeiFsNUTFhALig"/>
</diagram:DSemanticDiagram>
<diagram:DSemanticDiagram xmi:id="_Dk2qABwSEeiktqE5H6Adsg" name="NewModel Activity Diagram" uid="_Dks5ABwSEeiktqE5H6Adsg">
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_Dk2qARwSEeiktqE5H6Adsg" source="DANNOTATION_CUSTOMIZATION_KEY">
<data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_Dk2qAhwSEeiktqE5H6Adsg"/>
</ownedAnnotationEntries>
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_DlAbABwSEeiktqE5H6Adsg" source="GMF_DIAGRAMS">
<data xmi:type="notation:Diagram" xmi:id="_DlAbARwSEeiktqE5H6Adsg" type="Sirius" element="_Dk2qABwSEeiktqE5H6Adsg" measurementUnit="Pixel">
<children xmi:type="notation:Node" xmi:id="_DlCQMBwSEeiktqE5H6Adsg" type="2002" element="_Dk2qBBwSEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_DlEscBwSEeiktqE5H6Adsg" type="5006"/>
<children xmi:type="notation:Node" xmi:id="_DlFTgBwSEeiktqE5H6Adsg" type="7001">
<children xmi:type="notation:Node" xmi:id="_jbgMgBxUEeiktqE5H6Adsg" type="3007" element="_jbQ78BxUEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_jbhaoBxUEeiktqE5H6Adsg" type="5003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_jbhaoRxUEeiktqE5H6Adsg" x="31" y="5"/>
</children>
<children xmi:type="notation:Node" xmi:id="_jbpWcBxUEeiktqE5H6Adsg" type="3005" element="_jbSxIBxUEeiktqE5H6Adsg">
<styles xmi:type="notation:ShapeStyle" xmi:id="_jbpWcRxUEeiktqE5H6Adsg" fontName=".AppleSystemUIFont"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_jbpWchxUEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_jbgMgRxUEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_jbgMghxUEeiktqE5H6Adsg" x="55" y="26" width="30" height="30"/>
</children>
<children xmi:type="notation:Node" xmi:id="_wSyA8BxUEeiktqE5H6Adsg" type="3007" element="_wSgUIBxUEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_wSyoABxUEeiktqE5H6Adsg" type="5003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_wSyoARxUEeiktqE5H6Adsg" x="31" y="5"/>
</children>
<children xmi:type="notation:Node" xmi:id="_wSyoAhxUEeiktqE5H6Adsg" type="3017" element="_wSjXcBxUEeiktqE5H6Adsg">
<styles xmi:type="notation:ShapeStyle" xmi:id="_wSyoAxxUEeiktqE5H6Adsg" fontName=".AppleSystemUIFont"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSyoBBxUEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_wSyA8RxUEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSyA8hxUEeiktqE5H6Adsg" x="239" y="34" width="30" height="30"/>
</children>
<children xmi:type="notation:Node" xmi:id="_KbrccBxVEeiktqE5H6Adsg" type="3008" element="_KbpAMBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_KbsDgBxVEeiktqE5H6Adsg" type="5005"/>
<children xmi:type="notation:Node" xmi:id="_KbsDgRxVEeiktqE5H6Adsg" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_KbsDghxVEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_KbsDgxxVEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_KbrccRxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_KbrcchxVEeiktqE5H6Adsg" x="15" y="146" height="39"/>
</children>
<children xmi:type="notation:Node" xmi:id="_SG-7QBxVEeiktqE5H6Adsg" type="3007" element="_SGw40BxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_SG-7QxxVEeiktqE5H6Adsg" type="5003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_SG-7RBxVEeiktqE5H6Adsg" x="31" y="5"/>
</children>
<children xmi:type="notation:Node" xmi:id="_SHCloBxVEeiktqE5H6Adsg" type="3005" element="_SGxf4BxVEeiktqE5H6Adsg">
<styles xmi:type="notation:ShapeStyle" xmi:id="_SHCloRxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_SHClohxVEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_SG-7QRxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_SG-7QhxVEeiktqE5H6Adsg" x="259" y="458" width="30" height="30"/>
</children>
<children xmi:type="notation:Node" xmi:id="_e4xLsBxVEeiktqE5H6Adsg" type="3008" element="_e4uvcBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_e4xLsxxVEeiktqE5H6Adsg" type="5005"/>
<children xmi:type="notation:Node" xmi:id="_e4xLtBxVEeiktqE5H6Adsg" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_e4xLtRxVEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_e4xLthxVEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_e4xLsRxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_e4xLshxVEeiktqE5H6Adsg" x="180" y="146" height="39"/>
</children>
<children xmi:type="notation:Node" xmi:id="_oGRdEBxVEeiktqE5H6Adsg" type="3008" element="_oGPA0BxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_oGRdExxVEeiktqE5H6Adsg" type="5005"/>
<children xmi:type="notation:Node" xmi:id="_oGSEIBxVEeiktqE5H6Adsg" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_oGSEIRxVEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_oGSEIhxVEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_oGRdERxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_oGRdEhxVEeiktqE5H6Adsg" x="180" y="218" height="35"/>
</children>
<children xmi:type="notation:Node" xmi:id="_zfVnEBxVEeiktqE5H6Adsg" type="3008" element="_zfSjwBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_zfVnExxVEeiktqE5H6Adsg" type="5005"/>
<children xmi:type="notation:Node" xmi:id="_zfVnFBxVEeiktqE5H6Adsg" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_zfVnFRxVEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_zfVnFhxVEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_zfVnERxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_zfVnEhxVEeiktqE5H6Adsg" x="171" y="298" height="33"/>
</children>
<children xmi:type="notation:Node" xmi:id="_H5RUoBxWEeiktqE5H6Adsg" type="3007" element="_H5D5QBxWEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_H5RUoxxWEeiktqE5H6Adsg" type="5003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_H5RUpBxWEeiktqE5H6Adsg" x="-10" y="11"/>
</children>
<children xmi:type="notation:Node" xmi:id="_H5TJ0BxWEeiktqE5H6Adsg" type="3003" element="_H5EgUBxWEeiktqE5H6Adsg">
<styles xmi:type="notation:ShapeStyle" xmi:id="_H5TJ0RxWEeiktqE5H6Adsg" fontName=".AppleSystemUIFont"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_H5TJ0hxWEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_H5RUoRxWEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_H5RUohxWEeiktqE5H6Adsg" x="435" y="230" width="30" height="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_LHm44BxWEeiktqE5H6Adsg" type="3008" element="_LHkcoBxWEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_LHnf8BxWEeiktqE5H6Adsg" type="5005"/>
<children xmi:type="notation:Node" xmi:id="_LHnf8RxWEeiktqE5H6Adsg" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_LHnf8hxWEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_LHnf8xxWEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_LHm44RxWEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_LHm44hxWEeiktqE5H6Adsg" x="355" y="148" height="35"/>
</children>
<children xmi:type="notation:Node" xmi:id="_UlvAMBxWEeiktqE5H6Adsg" type="3008" element="_Ulr84BxWEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_UlvAMxxWEeiktqE5H6Adsg" type="5005"/>
<children xmi:type="notation:Node" xmi:id="_UlvANBxWEeiktqE5H6Adsg" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_UlvANRxWEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_UlvANhxWEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_UlvAMRxWEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_UlvAMhxWEeiktqE5H6Adsg" x="366" y="298" height="33"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ZFfJABxWEeiktqE5H6Adsg" type="3008" element="_ZFcFsBxWEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_ZFfJAxxWEeiktqE5H6Adsg" type="5005"/>
<children xmi:type="notation:Node" xmi:id="_ZFfJBBxWEeiktqE5H6Adsg" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_ZFfJBRxWEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_ZFfJBhxWEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_ZFfJARxWEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZFfJAhxWEeiktqE5H6Adsg" x="551" y="299" height="31"/>
</children>
<children xmi:type="notation:Node" xmi:id="_fKCscBxWEeiktqE5H6Adsg" type="3007" element="_fJ14IBxWEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_fKDTgBxWEeiktqE5H6Adsg" type="5003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_fKDTgRxWEeiktqE5H6Adsg" x="21" y="-5"/>
</children>
<children xmi:type="notation:Node" xmi:id="_fKDTghxWEeiktqE5H6Adsg" type="3003" element="_fJ2fMBxWEeiktqE5H6Adsg">
<styles xmi:type="notation:ShapeStyle" xmi:id="_fKDTgxxWEeiktqE5H6Adsg" fontName=".AppleSystemUIFont"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_fKDThBxWEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_fKCscRxWEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_fKCschxWEeiktqE5H6Adsg" x="519" y="374" width="20" height="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_j2JPMBxWEeiktqE5H6Adsg" type="3008" element="_j2GL4BxWEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_j2J2QBxWEeiktqE5H6Adsg" type="5005"/>
<children xmi:type="notation:Node" xmi:id="_j2J2QRxWEeiktqE5H6Adsg" type="7002">
<styles xmi:type="notation:SortingStyle" xmi:id="_j2J2QhxWEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_j2J2QxxWEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_j2JPMRxWEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_j2JPMhxWEeiktqE5H6Adsg" x="455" y="430" height="31"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_DlFTgRwSEeiktqE5H6Adsg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_DlFTghwSEeiktqE5H6Adsg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_DlCQMRwSEeiktqE5H6Adsg" fontName=".AppleSystemUIFont"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_DlCQMhwSEeiktqE5H6Adsg" x="236" y="68" width="819" height="531"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_DlAbAhwSEeiktqE5H6Adsg"/>
<edges xmi:type="notation:Edge" xmi:id="_xkrGoBxUEeiktqE5H6Adsg" type="4001" element="_xkcdIBxUEeiktqE5H6Adsg" source="_jbgMgBxUEeiktqE5H6Adsg" target="_wSyA8BxUEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_xkrtsBxUEeiktqE5H6Adsg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_xkrtsRxUEeiktqE5H6Adsg" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_xkti4BxUEeiktqE5H6Adsg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_xkti4RxUEeiktqE5H6Adsg" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_xkuJ8BxUEeiktqE5H6Adsg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_xkuJ8RxUEeiktqE5H6Adsg" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_xkrGoRxUEeiktqE5H6Adsg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_xkrGohxUEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xkrGoxxUEeiktqE5H6Adsg" points="[-1, 0, -155, -12]$[175, 0, 21, -12]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkvYEBxUEeiktqE5H6Adsg" id="(1.0,0.3333333333333333)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkvYERxUEeiktqE5H6Adsg" id="(0.0,0.4666666666666667)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_QK_IoBxVEeiktqE5H6Adsg" type="4001" element="_QKxGMBxVEeiktqE5H6Adsg" source="_wSyA8BxUEeiktqE5H6Adsg" target="_KbrccBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_QK_IpBxVEeiktqE5H6Adsg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_QK_IpRxVEeiktqE5H6Adsg" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_QK_IphxVEeiktqE5H6Adsg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_QK_IpxxVEeiktqE5H6Adsg" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_QK_IqBxVEeiktqE5H6Adsg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_QK_IqRxVEeiktqE5H6Adsg" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_QK_IoRxVEeiktqE5H6Adsg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_QK_IohxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QK_IoxxVEeiktqE5H6Adsg" points="[0, 0, 136, -82]$[0, 41, 136, -41]$[-136, 41, 0, -41]$[-136, 82, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QK_IqhxVEeiktqE5H6Adsg" id="(0.4,1.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QK_IqxxVEeiktqE5H6Adsg" id="(0.6756756756756757,0.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_Tkxu8BxVEeiktqE5H6Adsg" type="4001" element="_TkkTkBxVEeiktqE5H6Adsg" source="_KbrccBxVEeiktqE5H6Adsg" target="_SG-7QBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_TkyWABxVEeiktqE5H6Adsg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TkyWARxVEeiktqE5H6Adsg" x="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TkyWAhxVEeiktqE5H6Adsg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TkyWAxxVEeiktqE5H6Adsg" x="-1" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TkyWBBxVEeiktqE5H6Adsg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TkyWBRxVEeiktqE5H6Adsg" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_Tkxu8RxVEeiktqE5H6Adsg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_Tkxu8hxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Tkxu8xxVEeiktqE5H6Adsg" points="[0, 0, -156, -275]$[0, 275, -156, 0]$[51, 275, -105, 0]$[51, 290, -105, 15]$[148, 290, -8, 15]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TkyWBhxVEeiktqE5H6Adsg" id="(0.6486486486486487,1.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TkyWBxxVEeiktqE5H6Adsg" id="(0.26666666666666666,0.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_hvBAEBxVEeiktqE5H6Adsg" type="4001" element="_hu0LwBxVEeiktqE5H6Adsg" source="_wSyA8BxUEeiktqE5H6Adsg" target="_e4xLsBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_hvBAFBxVEeiktqE5H6Adsg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvBAFRxVEeiktqE5H6Adsg" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_hvBAFhxVEeiktqE5H6Adsg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvBAFxxVEeiktqE5H6Adsg" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_hvBAGBxVEeiktqE5H6Adsg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_hvBAGRxVEeiktqE5H6Adsg" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_hvBAERxVEeiktqE5H6Adsg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_hvBAEhxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hvBAExxVEeiktqE5H6Adsg" points="[0, 0, 0, -82]$[0, 82, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hvBnIBxVEeiktqE5H6Adsg" id="(0.5,1.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hvBnIRxVEeiktqE5H6Adsg" id="(0.5,0.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_qNEKcBxVEeiktqE5H6Adsg" type="4001" element="_qM3WIBxVEeiktqE5H6Adsg" source="_e4xLsBxVEeiktqE5H6Adsg" target="_oGRdEBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_qNEKdBxVEeiktqE5H6Adsg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNEKdRxVEeiktqE5H6Adsg" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_qNEKdhxVEeiktqE5H6Adsg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNEKdxxVEeiktqE5H6Adsg" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_qNEKeBxVEeiktqE5H6Adsg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNEKeRxVEeiktqE5H6Adsg" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_qNEKcRxVEeiktqE5H6Adsg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_qNEKchxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qNEKcxxVEeiktqE5H6Adsg" points="[0, 0, 0, -35]$[0, 35, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qNExgBxVEeiktqE5H6Adsg" id="(0.5135135135135135,1.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qNExgRxVEeiktqE5H6Adsg" id="(0.49673202614379086,0.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_2B_xEBxVEeiktqE5H6Adsg" type="4001" element="_2By8wBxVEeiktqE5H6Adsg" source="_oGRdEBxVEeiktqE5H6Adsg" target="_zfVnEBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_2CAYIBxVEeiktqE5H6Adsg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_2CAYIRxVEeiktqE5H6Adsg" x="-1" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_2CAYIhxVEeiktqE5H6Adsg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_2CAYIxxVEeiktqE5H6Adsg" x="2" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_2CAYJBxVEeiktqE5H6Adsg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_2CAYJRxVEeiktqE5H6Adsg" x="-2" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_2B_xERxVEeiktqE5H6Adsg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_2B_xEhxVEeiktqE5H6Adsg" fontName=".AppleSystemUIFont" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2B_xExxVEeiktqE5H6Adsg" points="[0, 0, -9, -47]$[0, 23, -9, -24]$[9, 23, 0, -24]$[9, 47, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2CAYJhxVEeiktqE5H6Adsg" id="(0.43790849673202614,1.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2CAYJxxVEeiktqE5H6Adsg" id="(0.4696132596685083,0.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_2uttIBxVEeiktqE5H6Adsg" type="4001" element="_2uhf4BxVEeiktqE5H6Adsg" source="_zfVnEBxVEeiktqE5H6Adsg" target="_SG-7QBxVEeiktqE5H6Adsg">
<children xmi:type="notation:Node" xmi:id="_2uttJBxVEeiktqE5H6Adsg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_2uttJRxVEeiktqE5H6Adsg" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_2uuUMBxVEeiktqE5H6Adsg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_2uuUMRxVEeiktqE5H6Adsg" y="10"/>
</children>