public class ErrorModel2PetriNet
extends java.lang.Object
Constructor and Description |
---|
ErrorModel2PetriNet() |
Modifier and Type | Method and Description |
---|---|
static org.eclipse.emf.common.util.EList |
createErrorGuardSenderSideLogic(PetriNet.PetriNet pn,
ComponentInstance ci,
edu.laas.aadl.dependency.FindSenderOrReceiverErrorModel fsrem,
org.eclipse.emf.common.util.EList and,
org.eclipse.emf.common.util.EList UpperComponentsEM,
boolean flagGuardTrans)
This method is used in the transformation of guardIn, guardOut and guardEvent properties
|
static PetriNet.Place |
createIntermediaryPlace(PetriNet.PetriNet pn,
InstanceObject iobj,
java.lang.String name)
Creates an intermediate place for the AADL propagation and links it to the Petri net transition
corresponding to the out propagation
|
static PetriNet.Place |
createNamedPlace(PetriNet.PetriNet pn,
edu.cmu.sei.aadl.errorannex.ErrorState es,
InstanceObject iobj,
java.lang.String name)
Creates a place from an AADL error state if a place with the same name
does not exist in the petri net
|
static PetriNet.Place |
createNamedPlace(PetriNet.PetriNet pn,
java.lang.String name)
Creates a place from an AADL error state if a place with the same name
does not exist in the petri net
|
static PetriNet.Transition |
createNamedTransition(PetriNet.PetriNet pn,
InstanceObject iobj,
java.lang.String name,
java.lang.String probability)
Creates a new named transition with the given probability
|
static PetriNet.Place |
createNoPropagPlace(PetriNet.PetriNet pn,
edu.cmu.sei.aadl.errorannex.ErrorState origin,
edu.cmu.sei.aadl.errorannex.ErrorPropagation currentAction,
InstanceObject iobj)
Creates a place that corresponds to a non-propagation
|
static PetriNet.Place |
createNoPropagPlace(PetriNet.PetriNet pn,
java.lang.String instanceObjectPath)
Creates a place that corresponds to a non-propagation
|
static PetriNet.Place |
createPlace(PetriNet.PetriNet pn,
edu.cmu.sei.aadl.errorannex.ErrorState es,
InstanceObject iobj)
Creates a place from an AADL error state if a place with the same name
does not exist in the petri net
|
static PetriNet.Transition |
eventOrPropagation2transition(PetriNet.PetriNet pn,
edu.cmu.sei.aadl.errorannex.ErrorEventOrPropagation ee,
InstanceObject iobj,
edu.cmu.sei.aadl.errorannex.ErrorState origin)
Transforms AADL Error Event or Propagation with its Occurrence property into a Petri Net transition
|
static PetriNet.NamedElement |
findPNElement(PetriNet.PetriNet pn,
java.lang.String name)
Finds a Place object in the Petri net by its name
|
static PetriNet.Place |
getPlaceByName(PetriNet.PetriNet pn,
java.lang.String placeName)
Returns the object Place of the Petri Net whose name corresponds to the value of the parameter
String placeName, if it exists, null otherwise
|
static org.eclipse.emf.common.util.EList |
getPlacesByPrefix(PetriNet.PetriNet pn,
java.lang.String prefix)
This method returns a list containing all the places of the petri net whose name
begins with the string contained in prefix
|
static java.lang.String |
getRemainingProbability(PetriNet.Place origin)
Checks if the sum of the probabilities on the outgoing events or propagations
from a place is less or equals to 1, in order to check if
the complementary name-matching subnet is necessary
|
static PetriNet.Transition |
getTransitionByName(PetriNet.PetriNet pn,
java.lang.String transitionName)
Returns the object Transition of the Petri Net whose name corresponds to the value of the parameter
String transitionName, if it exists, null otherwise
|
static PetriNet.Transition |
inPropagation2transition(PetriNet.PetriNet pn,
edu.cmu.sei.aadl.errorannex.ErrorPropagation ep,
InstanceObject sender,
InstanceObject receiver,
int suffix)
Transforms AADL in Error Propagation into a Petri Net transition of probability 1
|
static void |
link1PlaceTransition(PetriNet.PetriNet pn,
PetriNet.Place origin,
PetriNet.Transition trans)
Links PN place to PN transition through normal arc of weight 1
|
static void |
link1PlaceTransitionInhib(PetriNet.PetriNet pn,
PetriNet.Place origin,
PetriNet.Transition trans)
Links PN place to PN transition through inhibitor arc of weight 1
|
static void |
link1TransitionPlace(PetriNet.PetriNet pn,
PetriNet.Transition t_origin,
PetriNet.Place p_dest)
Links 1 PN transition to PN place through normal arcs of weight 1
|
static void |
link2PlacesTransition(PetriNet.PetriNet pn,
PetriNet.Place origin,
PetriNet.Place dest,
PetriNet.Transition trans)
Links PN place to PN transition through normal arc of weight 1
|
static void |
link2PlacesTransition(PetriNet.PetriNet pn,
PetriNet.Place origin,
PetriNet.Place dest,
PetriNet.Transition trans,
int weight_p2t,
int weight_t2p)
Links PN places to PN transition through normal arc, user specified weight
|
static void |
link2PlacesTransitionInhib(PetriNet.PetriNet pn,
PetriNet.Place origin,
PetriNet.Place dest,
PetriNet.Transition trans)
Links PN place to PN transition through inhibitor arc, weight 1
|
static void |
link2PlacesTransitionInhib(PetriNet.PetriNet pn,
PetriNet.Place origin,
PetriNet.Place dest,
PetriNet.Transition trans,
int weight_p2t,
int weight_t2p)
Links PN places to PN transition through inhibitor arc, user specified weight
|
static void |
link3PlacesTransition(PetriNet.PetriNet pn,
PetriNet.Place origin1,
PetriNet.Place origin2,
PetriNet.Place dest,
PetriNet.Transition trans)
Links 3 PN places to PN transition through normal arcs of weight 1
|
public static PetriNet.Transition eventOrPropagation2transition(PetriNet.PetriNet pn, edu.cmu.sei.aadl.errorannex.ErrorEventOrPropagation ee, InstanceObject iobj, edu.cmu.sei.aadl.errorannex.ErrorState origin)
PetriNet
- to attach transition toerror
- model featureinstance
- object (component instance or connectioninstance)public static PetriNet.Transition createNamedTransition(PetriNet.PetriNet pn, InstanceObject iobj, java.lang.String name, java.lang.String probability)
pn
- PetriNet objectiobj
- InstanceObjectprobability
- Stringname
- Stringpublic static PetriNet.Transition inPropagation2transition(PetriNet.PetriNet pn, edu.cmu.sei.aadl.errorannex.ErrorPropagation ep, InstanceObject sender, InstanceObject receiver, int suffix)
pn
- PetriNet to attach transition toerror
- model featureinstance
- object (component instance or connectioninstance) - senderinstance
- object (component instance or connectioninstance) - receiversuffix
- int (several PN transitions correspond to one in propagation)public static PetriNet.Place createIntermediaryPlace(PetriNet.PetriNet pn, InstanceObject iobj, java.lang.String name)
pn
- PetriNet objectt
- Transitioniobj
- InstanceObjectreceiverObj
- InstanceObjectname
- Stringpublic static PetriNet.Place createNoPropagPlace(PetriNet.PetriNet pn, edu.cmu.sei.aadl.errorannex.ErrorState origin, edu.cmu.sei.aadl.errorannex.ErrorPropagation currentAction, InstanceObject iobj)
pn
- PetriNet objectes
- ErrorStatecurrentAction
- ErrorEventOrPropagationiobj
- IstanceObjectpublic static PetriNet.Place createNoPropagPlace(PetriNet.PetriNet pn, java.lang.String instanceObjectPath)
pn
- PetriNet objectcurrentAction
- StringinstanceObjectPath
- Stringpublic static PetriNet.Place getPlaceByName(PetriNet.PetriNet pn, java.lang.String placeName)
pn
- PetriNet objectplaceName
- Stringpublic static PetriNet.Transition getTransitionByName(PetriNet.PetriNet pn, java.lang.String transitionName)
pn
- PetriNet objecttransitionName
- Stringpublic static PetriNet.Place createPlace(PetriNet.PetriNet pn, edu.cmu.sei.aadl.errorannex.ErrorState es, InstanceObject iobj)
pn
- PetriNet objectes
- ErrorStatepublic static PetriNet.Place createNamedPlace(PetriNet.PetriNet pn, edu.cmu.sei.aadl.errorannex.ErrorState es, InstanceObject iobj, java.lang.String name)
pn
- PetriNet objectes
- ErrorStateiobj
- IstanceObjectname
- Stringpublic static PetriNet.Place createNamedPlace(PetriNet.PetriNet pn, java.lang.String name)
pn
- PetriNet objectes
- ErrorStateiobj
- IstanceObjectname
- Stringpublic static void link1PlaceTransition(PetriNet.PetriNet pn, PetriNet.Place origin, PetriNet.Transition trans)
origin
- Placetrans
- Transitionpublic static void link1PlaceTransitionInhib(PetriNet.PetriNet pn, PetriNet.Place origin, PetriNet.Transition trans)
origin
- Placetrans
- Transitionpublic static void link2PlacesTransition(PetriNet.PetriNet pn, PetriNet.Place origin, PetriNet.Place dest, PetriNet.Transition trans)
pn
- PetriNet to attach arcs toorigin
- Placedest
- Placetrans
- Transitionpublic static void link2PlacesTransitionInhib(PetriNet.PetriNet pn, PetriNet.Place origin, PetriNet.Place dest, PetriNet.Transition trans)
pn
- PetriNet to attach arcs toorigin
- Placedest
- Placetrans
- Transitionpublic static void link2PlacesTransition(PetriNet.PetriNet pn, PetriNet.Place origin, PetriNet.Place dest, PetriNet.Transition trans, int weight_p2t, int weight_t2p)
origin
- Placedest
- Placetrans
- Transitionweight_p2t
- int (the weight of the Place2Transition arc)weight_t2p
- int (the weight of the Transition2Place arc)public static void link2PlacesTransitionInhib(PetriNet.PetriNet pn, PetriNet.Place origin, PetriNet.Place dest, PetriNet.Transition trans, int weight_p2t, int weight_t2p)
origin
- Placedest
- Placetrans
- Transitionweight_p2t
- int (the weight of the Place2Transition arc)weight_t2p
- int (the weight of the Transition2Place arc)public static void link3PlacesTransition(PetriNet.PetriNet pn, PetriNet.Place origin1, PetriNet.Place origin2, PetriNet.Place dest, PetriNet.Transition trans)
origin1
- Placeorigin2
- Placedest
- Placetrans
- Transitionpublic static void link1TransitionPlace(PetriNet.PetriNet pn, PetriNet.Transition t_origin, PetriNet.Place p_dest)
pn
- PetriNett_origin
- Transitionp_dest
- Placepublic static PetriNet.NamedElement findPNElement(PetriNet.PetriNet pn, java.lang.String name)
pn
- Petri net objectname
- Stringpublic static org.eclipse.emf.common.util.EList getPlacesByPrefix(PetriNet.PetriNet pn, java.lang.String prefix)
pn
- PetriNetprefix
- String it represents the prefix of the place_namepublic static java.lang.String getRemainingProbability(PetriNet.Place origin)
origin
- Placepublic static org.eclipse.emf.common.util.EList createErrorGuardSenderSideLogic(PetriNet.PetriNet pn, ComponentInstance ci, edu.laas.aadl.dependency.FindSenderOrReceiverErrorModel fsrem, org.eclipse.emf.common.util.EList and, org.eclipse.emf.common.util.EList UpperComponentsEM, boolean flagGuardTrans)
pn
- ci
- and
- UpperComponentsEM
- flagGuardTransition
- boolean, true if called by the GuardTransitionTransformation process