Commit 374413b4 authored by De Viry Guilhem's avatar De Viry Guilhem

Merge remote-tracking branch 'refs/remotes/origin/master'

parents 69b6b902 616a3dec
......@@ -48,3 +48,4 @@ _UI_Action_name_feature = Name
_UI_Guard_name_feature = Name
_UI_Unknown_feature = Unspecified
_UI_FSM_groupId_feature = Group Id
......@@ -61,6 +61,7 @@ public class FSMItemProvider extends ItemProviderAdapter implements IEditingDoma
addCurrentStatePropertyDescriptor(object);
addFinalStatePropertyDescriptor(object);
addIsServerPropertyDescriptor(object);
addGroupIdPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
......@@ -137,6 +138,21 @@ public class FSMItemProvider extends ItemProviderAdapter implements IEditingDoma
ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
}
/**
* This adds a property descriptor for the Group Id feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addGroupIdPropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(), getString("_UI_FSM_groupId_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_FSM_groupId_feature", "_UI_FSM_type"),
FsmPackage.Literals.FSM__GROUP_ID, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
......@@ -218,6 +234,7 @@ public class FSMItemProvider extends ItemProviderAdapter implements IEditingDoma
switch (notification.getFeatureID(FSM.class)) {
case FsmPackage.FSM__NAME:
case FsmPackage.FSM__IS_SERVER:
case FsmPackage.FSM__GROUP_ID:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case FsmPackage.FSM__OWNED_STATES:
......
......@@ -41,6 +41,12 @@
<labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
</endLabelStyleDescription>
</computedStyleDescriptions>
<computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_U_guEHWDEemSCsx8ZspRIg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
<borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelFormat>bold</labelFormat>
<labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</computedStyleDescriptions>
</data>
</ownedAnnotationEntries>
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_jGwGMC8REemUD62u2ND_rQ" source="GMF_DIAGRAMS">
......@@ -56,6 +62,10 @@
<styles xmi:type="notation:FontStyle" xmi:id="_ncpzsWtPEem0mbgC6iSHoQ" fontName="Segoe UI" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_ncpzsmtPEem0mbgC6iSHoQ"/>
</children>
<children xmi:type="notation:Node" xmi:id="_Rte8oHWDEemSCsx8ZspRIg" type="3010" element="_Rs_0cHWDEemSCsx8ZspRIg">
<styles xmi:type="notation:FontStyle" xmi:id="_Rte8oXWDEemSCsx8ZspRIg" fontColor="2697711" fontName=".AppleSystemUIFont" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_Rte8onWDEemSCsx8ZspRIg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_o1M2wS8REemUD62u2ND_rQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_o1M2wi8REemUD62u2ND_rQ"/>
</children>
......@@ -360,7 +370,7 @@
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
<arrangeConstraints>KEEP_SIZE</arrangeConstraints>
<arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_6VW60C8REemUD62u2ND_rQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
<ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_TzHMYHWDEemSCsx8ZspRIg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
<description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
......@@ -380,6 +390,14 @@
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
</ownedElements>
<ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_Rs_0cHWDEemSCsx8ZspRIg" name="groupId : EString" tooltipText="">
<target xmi:type="ecore:EAttribute" href="fsm.ecore#//FSM/groupId"/>
<semanticElements xmi:type="ecore:EAttribute" href="fsm.ecore#//FSM/groupId"/>
<ownedStyle xmi:type="diagram:BundledImage" xmi:id="_U_guEXWDEemSCsx8ZspRIg" labelAlignment="LEFT" description="_U_guEHWDEemSCsx8ZspRIg">
<labelFormat>bold</labelFormat>
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
</ownedElements>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7IzxAC8REemUD62u2ND_rQ" name="State" tooltipText="" outgoingEdges="_LmGFoF-gEemRWcGjpF2T8A _o2KaoGCWEem6daeI_HTQDw _zPQc4G2xEemjJLy0_4_Kjg _5X7rUG2xEemjJLy0_4_Kjg" incomingEdges="_Ll21EF-gEemRWcGjpF2T8A _Ll5RUF-gEemRWcGjpF2T8A _Ll6fcF-gEemRWcGjpF2T8A _LmDpYF-gEemRWcGjpF2T8A" width="12" height="10">
<target xmi:type="ecore:EClass" href="fsm.ecore#//State"/>
......
......@@ -17,6 +17,8 @@
eType="#//Action" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedGuards" upperBound="-1"
eType="#//Guard" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="groupId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="State">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
......
......@@ -20,6 +20,7 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//FSM/isServer"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference fsm.ecore#//FSM/ownedActions"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference fsm.ecore#//FSM/ownedGuards"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//FSM/groupId"/>
</genClasses>
<genClasses ecoreClass="fsm.ecore#//State">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute fsm.ecore#//State/name"/>
......
......@@ -24,6 +24,7 @@ import org.eclipse.emf.ecore.EObject;
* <li>{@link fr.supelec.plong9.fsm.FSM#isIsServer <em>Is Server</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.FSM#getOwnedActions <em>Owned Actions</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.FSM#getOwnedGuards <em>Owned Guards</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.FSM#getGroupId <em>Group Id</em>}</li>
* </ul>
*
* @see fr.supelec.plong9.fsm.FsmPackage#getFSM()
......@@ -227,4 +228,30 @@ public interface FSM extends EObject {
*/
EList<Guard> getOwnedGuards();
/**
* Returns the value of the '<em><b>Group Id</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Group Id</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Group Id</em>' attribute.
* @see #setGroupId(String)
* @see fr.supelec.plong9.fsm.FsmPackage#getFSM_GroupId()
* @model required="true"
* @generated
*/
String getGroupId();
/**
* Sets the value of the '{@link fr.supelec.plong9.fsm.FSM#getGroupId <em>Group Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Group Id</em>' attribute.
* @see #getGroupId()
* @generated
*/
void setGroupId(String value);
} // FSM
......@@ -147,6 +147,15 @@ public interface FsmPackage extends EPackage {
*/
int FSM__OWNED_GUARDS = 8;
/**
* The feature id for the '<em><b>Group Id</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int FSM__GROUP_ID = 9;
/**
* The number of structural features of the '<em>FSM</em>' class.
* <!-- begin-user-doc -->
......@@ -154,7 +163,7 @@ public interface FsmPackage extends EPackage {
* @generated
* @ordered
*/
int FSM_FEATURE_COUNT = 9;
int FSM_FEATURE_COUNT = 10;
/**
* The number of operations of the '<em>FSM</em>' class.
......@@ -549,6 +558,17 @@ public interface FsmPackage extends EPackage {
*/
EReference getFSM_OwnedGuards();
/**
* Returns the meta object for the attribute '{@link fr.supelec.plong9.fsm.FSM#getGroupId <em>Group Id</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Group Id</em>'.
* @see fr.supelec.plong9.fsm.FSM#getGroupId()
* @see #getFSM()
* @generated
*/
EAttribute getFSM_GroupId();
/**
* Returns the meta object for class '{@link fr.supelec.plong9.fsm.State <em>State</em>}'.
* <!-- begin-user-doc -->
......@@ -869,6 +889,14 @@ public interface FsmPackage extends EPackage {
*/
EReference FSM__OWNED_GUARDS = eINSTANCE.getFSM_OwnedGuards();
/**
* The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute FSM__GROUP_ID = eINSTANCE.getFSM_GroupId();
/**
* The meta object literal for the '{@link fr.supelec.plong9.fsm.impl.StateImpl <em>State</em>}' class.
* <!-- begin-user-doc -->
......
......@@ -43,6 +43,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
* <li>{@link fr.supelec.plong9.fsm.impl.FSMImpl#isIsServer <em>Is Server</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.impl.FSMImpl#getOwnedActions <em>Owned Actions</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.impl.FSMImpl#getOwnedGuards <em>Owned Guards</em>}</li>
* <li>{@link fr.supelec.plong9.fsm.impl.FSMImpl#getGroupId <em>Group Id</em>}</li>
* </ul>
*
* @generated
......@@ -158,6 +159,26 @@ public class FSMImpl extends MinimalEObjectImpl.Container implements FSM {
*/
protected EList<Guard> ownedGuards;
/**
* The default value of the '{@link #getGroupId() <em>Group Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getGroupId()
* @generated
* @ordered
*/
protected static final String GROUP_ID_EDEFAULT = null;
/**
* The cached value of the '{@link #getGroupId() <em>Group Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getGroupId()
* @generated
* @ordered
*/
protected String groupId = GROUP_ID_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
......@@ -388,6 +409,27 @@ public class FSMImpl extends MinimalEObjectImpl.Container implements FSM {
return ownedGuards;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getGroupId() {
return groupId;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setGroupId(String newGroupId) {
String oldGroupId = groupId;
groupId = newGroupId;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FsmPackage.FSM__GROUP_ID, oldGroupId, groupId));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
......@@ -455,6 +497,8 @@ public class FSMImpl extends MinimalEObjectImpl.Container implements FSM {
return getOwnedActions();
case FsmPackage.FSM__OWNED_GUARDS:
return getOwnedGuards();
case FsmPackage.FSM__GROUP_ID:
return getGroupId();
}
return super.eGet(featureID, resolve, coreType);
}
......@@ -499,6 +543,9 @@ public class FSMImpl extends MinimalEObjectImpl.Container implements FSM {
getOwnedGuards().clear();
getOwnedGuards().addAll((Collection<? extends Guard>) newValue);
return;
case FsmPackage.FSM__GROUP_ID:
setGroupId((String) newValue);
return;
}
super.eSet(featureID, newValue);
}
......@@ -538,6 +585,9 @@ public class FSMImpl extends MinimalEObjectImpl.Container implements FSM {
case FsmPackage.FSM__OWNED_GUARDS:
getOwnedGuards().clear();
return;
case FsmPackage.FSM__GROUP_ID:
setGroupId(GROUP_ID_EDEFAULT);
return;
}
super.eUnset(featureID);
}
......@@ -568,6 +618,8 @@ public class FSMImpl extends MinimalEObjectImpl.Container implements FSM {
return ownedActions != null && !ownedActions.isEmpty();
case FsmPackage.FSM__OWNED_GUARDS:
return ownedGuards != null && !ownedGuards.isEmpty();
case FsmPackage.FSM__GROUP_ID:
return GROUP_ID_EDEFAULT == null ? groupId != null : !GROUP_ID_EDEFAULT.equals(groupId);
}
return super.eIsSet(featureID);
}
......@@ -587,6 +639,8 @@ public class FSMImpl extends MinimalEObjectImpl.Container implements FSM {
result.append(name);
result.append(", isServer: ");
result.append(isServer);
result.append(", groupId: ");
result.append(groupId);
result.append(')');
return result.toString();
}
......
......@@ -220,6 +220,15 @@ public class FsmPackageImpl extends EPackageImpl implements FsmPackage {
return (EReference) fsmEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getFSM_GroupId() {
return (EAttribute) fsmEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
......@@ -439,6 +448,7 @@ public class FsmPackageImpl extends EPackageImpl implements FsmPackage {
createEAttribute(fsmEClass, FSM__IS_SERVER);
createEReference(fsmEClass, FSM__OWNED_ACTIONS);
createEReference(fsmEClass, FSM__OWNED_GUARDS);
createEAttribute(fsmEClass, FSM__GROUP_ID);
stateEClass = createEClass(STATE);
createEAttribute(stateEClass, STATE__NAME);
......@@ -525,6 +535,9 @@ public class FsmPackageImpl extends EPackageImpl implements FsmPackage {
initEReference(getFSM_OwnedGuards(), this.getGuard(), null, "ownedGuards", null, 0, -1,
fr.supelec.plong9.fsm.FSM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getFSM_GroupId(), ecorePackage.getEString(), "groupId", null, 1, 1,
fr.supelec.plong9.fsm.FSM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getState_Name(), ecorePackage.getEString(), "name", null, 0, 1, State.class, !IS_TRANSIENT,
......
......@@ -2,32 +2,84 @@
[module generateMain('http://fr.supelec.plong9.fsm')]
[template public generateElement(aFSM : FSM)]
[template public generateMain(aFSM : FSM)]
[file ('main.java', false, 'UTF-8')]
[file (aFSM.name + '/main.java', false, 'UTF-8')]
package [aFSM.name/];
import java.util.logging.Level;
import javafx.util.Pair;
[if (aFSM.isServer)]
import fsm.FSMServer;
[else]
import java.net.InetAddress;
import java.net.UnknownHostException;
import fsm.FSMClient;
[/if]
import fsm.State;
import fsm.Transition;
[for (a : Action | aFSM.ownedActions)]
[if (a.name = 'DisconnectClientAction')]
import fsm.DisconnectClientAction;
import fsm.InverseGuard;
[else]
import [aFSM.name/].[a.name.toUpper()/];
[/if]
[/for]
public class main {
public static void main(String['['/][']'/] args) {
[if (aFSM.isServer)]
FSMServer fsm = new FSMServer("[aFSM.name/]", (dis, f) -> new NetworkMessageParser(dis, f), 50300, "serverpw");
[else]
InetAddress host = null;
try {
// TODO : Insert the address to the host here :
host = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
var fsm = new FSMClient("[aFSM.name/]", (dis, f) -> new MyClientNetworkMessageParser(dis, f), host, 50300, "clientpw");
[/if]
fsm.LOGGER.setLevel(Level.INFO);
[for (s : State | aFSM.ownedStates)]
State state_[s.name.toLower()/] = new State("[s.name/]");
[for (a : Action | s.onEnteredActions)]
state_[s.name.toLower()/].onEnteredAction(new [a.name.toUpper()/]());
[/for]
[for (a : Action | s.onExitedActions)]
state_[s.name.toLower()/].onExitedAction(new [a.name.toUpper()/]());
[/for]
[/for]
[for (s : State | aFSM.ownedStates)]
[for (t : Transition | s.outgoingTransitions)]
Transition trans_[t.name.toLower()/] = new Transition("[t.name/]");
trans_[t.name.toLower()/].setSource([t.source.name/]);
trans_[t.name.toLower()/].setTarget([t.target.name/]);
trans_[t.name.toLower()/].registerEvent("[t.event.name/]");
[for (a : Action | t.actions)]
trans_[t.name.toLower()/].registerAction(new [a.name.toUpper()/]());
[/for]
[if (not t.guard.oclIsUndefined())]
trans_[t.name.toLower()/].registerGuard(new [t.guard.name.toUpper()/]());
[/if]
[/for]
[/for]
[for (s : State | aFSM.ownedStates)]
fsm.addState(state_[s.name.toLower()/]);
[/for]
fsm.setInitialState([aFSM.initialState.name/]);
fsm.setFinalState([aFSM.finalState.name/]);
fsm.setInitialState(state_[aFSM.initialState.name.toLower()/]);
fsm.setFinalState(state_[aFSM.finalState.name.toLower()/]);
fsm.start();
......
......@@ -9,7 +9,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId></groupId>
<groupId>[aFSM.groupId/]</groupId>
<artifactId>[aFSM.name/]</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
......@@ -42,7 +42,7 @@
</execution>
</executions>
<configuration>
<mainClass>serverPingPong.main</mainClass>
<mainClass>[aFSM.name/].main</mainClass>
<systemProperties>
<systemProperty>
<key>javax.net.debug</key>
......
......@@ -42,7 +42,7 @@ public class Main extends AbstractAcceleoGenerator {
*
* @generated
*/
public static final String[] TEMPLATE_NAMES = { "generateMain" };
public static final String[] TEMPLATE_NAMES = { "Main" };
/**
* The list of properties files from the launch parameters (Launch configuration).
......
[comment encoding = UTF-8 /]
[module main('http://fr.supelec.plong9.fsm')]
[import fr::supelec::plong9::acceleo::generation::file::generatePOM /]
[import fr::supelec::plong9::acceleo::generation::file::generateMain /]
[import fr::supelec::plong9::acceleo::generation::file::generatePOM /]
[import fr::supelec::plong9::acceleo::generation::file::generateAction /]
[template public generateMain(aFSM : FSM)]
[template public Main(aFSM : FSM)]
[comment @main/]
[aFSM.generatePOM()/]
[aFSM.generateMain()/]
[aFSM.generateAction()/]
[if (aFSM.isServer)]
[/if]
[if (not aFSM.isServer)]
[/if]
[/template]
<?xml version="1.0" encoding="UTF-8"?>
<fsm:FSM xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:fsm="http://fr.supelec.plong9.fsm" name="PongServer" initialState="//@ownedStates.0" currentState="//@ownedStates.0" finalState="//@ownedStates.0" isServer="true">
<fsm:FSM xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:fsm="http://fr.supelec.plong9.fsm" name="PongServer" initialState="//@ownedStates.0" currentState="//@ownedStates.0" finalState="//@ownedStates.0" isServer="true" groupId="fr.supelec.plong9">
<ownedStates name="AttenteConnexion" incomingTransitions="//@ownedStates.1/@outgoingTransitions.0 //@ownedStates.1/@outgoingTransitions.1">
<outgoingTransitions name="connexionRecue" event="//@ownedEvents.1" target="//@ownedStates.1"/>
<outgoingTransitions name="timeout" actions="//@ownedActions.0" event="//@ownedEvents.2" target="//@ownedStates.2"/>
......
......@@ -223,7 +223,7 @@
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/fr.supelec.plong9.fsm.design/description/fsm.odesign#//@ownedViewpoints[name='FSMViewpoint']/@ownedRepresentations[name='FSMDiagram']/@defaultLayer/@nodeMappings[name='StateNode']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_nz6D2mtUEemciZI6tGKMcw" name="FSM's EAG" childrenPresentation="HorizontalStack">
<ownedDiagramElements xmi:type="diagram:DNodeContainer" xmi:id="_nz6D2mtUEemciZI6tGKMcw" name="PongServer" childrenPresentation="HorizontalStack">
<target xmi:type="fsm:FSM" href="My.fsm#/"/>
<semanticElements xmi:type="fsm:FSM" href="My.fsm#/"/>
<ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_nz6D22tUEemciZI6tGKMcw" borderSize="1" borderSizeComputationExpression="1">
......@@ -319,7 +319,7 @@
</ownedElements>
</ownedDiagramElements>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_nz6D8mtUEemciZI6tGKMcw" name="newConnection / []" sourceNode="_nz6D1GtUEemciZI6tGKMcw" targetNode="_nz6D1mtUEemciZI6tGKMcw">
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_nz6D8mtUEemciZI6tGKMcw" name="newConnection / []" sourceNode="_nz6D1GtUEemciZI6tGKMcw" targetNode="_nz6D1mtUEemciZI6tGKMcw">
<target xmi:type="fsm:Transition" href="My.fsm#//@ownedStates.0/@outgoingTransitions.0"/>
<semanticElements xmi:type="fsm:Transition" href="My.fsm#//@ownedStates.0/@outgoingTransitions.0"/>
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_nz6D82tUEemciZI6tGKMcw" size="2" centered="Both">
......@@ -328,7 +328,7 @@
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/fr.supelec.plong9.fsm.design/description/fsm.odesign#//@ownedViewpoints[name='FSMViewpoint']/@ownedRepresentations[name='FSMDiagram']/@defaultLayer/@edgeMappings[name='TransitionEdge']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_nz6D9WtUEemciZI6tGKMcw" name="timeoutConnection / fr.supelec.plong9.fsm.impl.ActionImpl@7e065baa (name: TimeoutAction)[]" sourceNode="_nz6D1GtUEemciZI6tGKMcw" targetNode="_nz6D2GtUEemciZI6tGKMcw">
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_nz6D9WtUEemciZI6tGKMcw" name="timeoutConnection / TimeoutAction []" sourceNode="_nz6D1GtUEemciZI6tGKMcw" targetNode="_nz6D2GtUEemciZI6tGKMcw">
<target xmi:type="fsm:Transition" href="My.fsm#//@ownedStates.0/@outgoingTransitions.1"/>
<semanticElements xmi:type="fsm:Transition" href="My.fsm#//@ownedStates.0/@outgoingTransitions.1"/>
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_nz6D9mtUEemciZI6tGKMcw" size="2" centered="Both">
......@@ -337,7 +337,7 @@
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/fr.supelec.plong9.fsm.design/description/fsm.odesign#//@ownedViewpoints[name='FSMViewpoint']/@ownedRepresentations[name='FSMDiagram']/@defaultLayer/@edgeMappings[name='TransitionEdge']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_nz6D-GtUEemciZI6tGKMcw" name="ping / fr.supelec.plong9.fsm.impl.ActionImpl@60ece96 (name: PongAction)fr.supelec.plong9.fsm.impl.ActionImpl@32ffa583 (name: DisconnectClientAction)[PongGuard]" sourceNode="_nz6D1mtUEemciZI6tGKMcw" targetNode="_nz6D1GtUEemciZI6tGKMcw">
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_nz6D-GtUEemciZI6tGKMcw" name="ping / PongActionDisconnectClientAction [PongGuard]" sourceNode="_nz6D1mtUEemciZI6tGKMcw" targetNode="_nz6D1GtUEemciZI6tGKMcw">
<target xmi:type="fsm:Transition" href="My.fsm#//@ownedStates.1/@outgoingTransitions.0"/>
<semanticElements xmi:type="fsm:Transition" href="My.fsm#//@ownedStates.1/@outgoingTransitions.0"/>
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_nz6D-WtUEemciZI6tGKMcw" size="2" centered="Both">
......@@ -346,7 +346,7 @@
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/fr.supelec.plong9.fsm.design/description/fsm.odesign#//@ownedViewpoints[name='FSMViewpoint']/@ownedRepresentations[name='FSMDiagram']/@defaultLayer/@edgeMappings[name='TransitionEdge']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_nz6D-2tUEemciZI6tGKMcw" name="ping / fr.supelec.plong9.fsm.impl.ActionImpl@38a254e5 (name: PongAction2)fr.supelec.plong9.fsm.impl.ActionImpl@32ffa583 (name: DisconnectClientAction)[]" sourceNode="_nz6D1mtUEemciZI6tGKMcw" targetNode="_nz6D1GtUEemciZI6tGKMcw">
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_nz6D-2tUEemciZI6tGKMcw" name="ping / PongAction2DisconnectClientAction []" sourceNode="_nz6D1mtUEemciZI6tGKMcw" targetNode="_nz6D1GtUEemciZI6tGKMcw">
<target xmi:type="fsm:Transition" href="My.fsm#//@ownedStates.1/@outgoingTransitions.1"/>
<semanticElements xmi:type="fsm:Transition" href="My.fsm#//@ownedStates.1/@outgoingTransitions.1"/>
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_nz6D_GtUEemciZI6tGKMcw" size="2" centered="Both">
......
......@@ -2,7 +2,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId></groupId>
<groupId>fr.supelec.plong9</groupId>
<artifactId>PongServer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
......@@ -35,7 +35,7 @@
</execution>
</executions>
<configuration>
<mainClass>serverPingPong.main</mainClass>
<mainClass>PongServer.main</mainClass>
<systemProperties>
<systemProperty>
<key>javax.net.debug</key>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment