INSA
  • Tutorials
  • Documentation
  • Api Documentation
  • Changelog
Show / Hide Table of Contents
  • Relations
    • Xareus.Relations
      • IEngine
      • IObject
      • IObjectType
      • IRelation
      • Object
      • ObjectMatch
      • ObjectPattern
      • ObjectQueryParameters
      • ObjectType
      • PatternType
      • Realization
      • RealizationQueryParameters
      • Reference
      • Relation
      • Type
      • TypeMatch
      • TypeSearch
    • Xareus.Relations.CSharp
      • Engine
    • Xareus.Relations.Extra
      • Helper
      • IRunnableRelation
      • ObjectPatternAttribute
    • Xareus.Relations.Tests
      • Bolt
      • Inheritance
      • RelationsTests
      • S3PM
    • Xareus.Relations.Tests.CSharp
      • EngineTest
    • Xareus.Relations.Utilities
      • Extensions
  • Scenarios
    • Xareus.Scenarios
      • AFunction
      • ASequence
      • Assignment
      • ComplexSequence
      • Decision
      • DecisionEvent
      • DecisionTree
      • Decoration
      • Event
      • Event.EffectorData
      • Event.SensorData
      • Extendable
      • ExtendedInfo
      • ExternalScenario
      • Function
      • IValueParser
      • Identifiable
      • InitialSequence
      • Net
      • Node
      • NodeUserData
      • Parameter
      • Place
      • ProxySequence
      • Reference
      • SMTransition
      • SafePetriNet
      • Scenario
      • ScenarioLoadedEventArgs
      • ScenarioLoadingParameters
      • ScenarioState
      • SequenceState
      • SetValueInContextEffector
      • SimpleSequence
      • State
      • StateMachine
      • Transition
      • TransitionFiredEventArgs
      • TypedValue
      • ValueParser
    • Xareus.Scenarios.Arithmetics
      • NumberBetweenSensor
      • NumberEffector
      • NumberEffector.ArithmeticalOperator
      • NumberSensor
      • NumberSensor.ComparisonOperator
      • RandomNumberEffector
      • Utils
    • Xareus.Scenarios.AssignmentEval
      • AAssignmentEval
    • Xareus.Scenarios.Boolean
      • BooleanEffector
      • BooleanEffector.LogicalOperator
      • BooleanSensor
      • BooleanSensor.ComparisonOperator
    • Xareus.Scenarios.Context
      • BackwardCompatibilityContext
      • BackwardCompatibilityContext.ParserDelegate
      • ContextType
      • IContext
      • Map
      • SimpleDictionary
      • Trie
    • Xareus.Scenarios.ContextInit
      • AContextInit
      • DefaultContextInit
    • Xareus.Scenarios.Converter
      • BoolConverter
      • ByteConverter
      • CharConverter
      • DoubleConverter
      • FloatConverter
      • IntConverter
      • LongConverter
      • PlaceConverter
      • PrimitiveConverter
      • SByteConverter
      • SMTransitionConverter
      • SafePetriNetConverter
      • ScenarioStateConverter
      • ScenarioVariablePathConverter
      • SequenceStateConverter
      • ShortConverter
      • StateConverter
      • StateMachineConverter
      • TransitionConverter
      • UIntConverter
      • ULongConverter
      • UShortConverter
      • VariableConverter
      • VariablePathConverter
    • Xareus.Scenarios.Converters
      • ArrayConverter
      • CollectionConverter
      • StringConverter
      • TypeConverter
    • Xareus.Scenarios.Effector
      • AEffector
    • Xareus.Scenarios.Exception
      • InvalidDataException
      • InvalidStateException
    • Xareus.Scenarios.Extra
      • AssignmentOverlap
      • DefaultTokenUpdate
      • DefaultTokenUpdate.TokenData
      • DownstreamSequenceList
      • EventSensor
      • ExtendedInfoHelper
      • SelectFromListEffector
      • SequenceList
      • TransitionFiredSensor
      • UpstreamSequenceList
      • VariableExistsSensor
    • Xareus.Scenarios.Extra.Time
      • WaitEffector
    • Xareus.Scenarios.FinalTokenMerge
      • AFinalTokenMerge
      • CopyAllTokens
      • PickFirst
    • Xareus.Scenarios.Network
      • AScenarioSender
      • INetSocketTcp
      • NetSocketTcpScenarioReceiver
      • NetSocketTcpScenarioSender
      • NetSocketTcpScenarioSender.ClientNewScenarioRegistration
      • NetSocketTcpScenarioSender.ClientUpdateRegistration
      • NetSocketTcpUtils
      • NetSocketTcpUtils.ReceiveState
    • Xareus.Scenarios.Network.Tests
      • NetworkTest
    • Xareus.Scenarios.ScenarioManipulation
      • AddTokenToSequencesEffector
      • AddTokenToSequencesEffector.TokenData
      • LoadScenarioStateEffector
      • LoadScenarioStateFromFileEffector
      • LoadSequenceStateEffector
      • LoadSequenceStateFromFileEffector
      • RemoveTokensFromSequencesEffector
      • SaveScenarioStateEffector
      • SaveScenarioStateInFileEffector
      • SaveSequenceStateEffector
      • SaveSequenceStateInFileEffector
    • Xareus.Scenarios.Sensor
      • ASensor
      • ASensor.Result
    • Xareus.Scenarios.Tests
      • ConfigurationParameterTest
      • ConvertersTests
      • IContextTest
      • ParserTest
      • ProgramTest
      • ScenarioManipulationTests
      • ScenarioTest
      • TypeTest
      • TypeTest.OverrideClass
    • Xareus.Scenarios.Time
      • RandomTimeSensor
      • TimeParametersConverter
      • TimeSensor
      • TimeUnit
      • TimeUtils
    • Xareus.Scenarios.TokenAssign
      • ATokenAssign
      • DoNothing
    • Xareus.Scenarios.TokenInit
      • ATokenInit
      • DefaultTokenInit
      • EmptyTokenInit
    • Xareus.Scenarios.TokenMerge
      • ATokenMerge
      • CopyAllTokens
      • PickFirst
    • Xareus.Scenarios.TokenSplit
      • ATokenSplit
    • Xareus.Scenarios.Utilities
      • BackwardCompatibilityManager
      • ConfigurationParameterAttribute
      • ContextVariableAttribute
      • EventContextEntryAttribute
      • FunctionDescriptionAttribute
      • FunctionManager
      • IFunctionParametersConverter
      • IRenameClass
      • IRenamedProvider
      • Necessity
      • ObsoleteUtils
      • OverrideClassAttribute
      • ParameterChecker
      • RenamedAttribute
      • RenamedManagerBase
      • RenamedTypeUtils
      • RuntimeTools
      • TypeConverterForAttribute
    • Xareus.Scenarios.Variables
      • ContextVariable<T>
      • EventVariablePath
      • ExternalContextVariablePath
      • ScenarioVariablePath
      • TokenVariablePath
      • Variable
      • VariablePath
  • Scenarios.Relations
      • Program
    • Xareus.Scenarios.Relations
      • Action
      • ActionLogEffector
      • ActionRecordEffector
      • ActionRecorder
      • AnyRelationSensor
      • Change
      • Environment
      • Execution
      • IRealizationManager
      • InitializeRecorderEffector
      • RealizationContext
      • RealizationManager
      • RealizationRecord
      • RelationEffector
      • RelationSensor
      • RelationsValueParser
      • RenamedProvider
      • WriteActionRecordEffector
    • Xareus.Scenarios.Relations.TypeConverter
      • FiveObjectConverter
      • RealizationConverter
      • RelationConverter
  • Utils
    • Xareus.Utils
      • AssemblyUtils
      • DatedEventManager<DataType, TimeType>
      • DatedEventManager<DataType, TimeType>.EventRecord
      • Extensions
      • FieldsAndPropertiesContainer
      • MemberUtils
      • Serialization
      • TypeUtils
      • UriUtils
    • Xareus.Utils.Tests
      • DatedEventManagerTest
      • DatedEventManagerTest.TestDatedEventManager
      • ExtensionsTests
      • MemberUtilsTest
      • TypeUtilsTests
      • TypeUtilsTests.DummySensor
      • TypeUtilsTests.GenericClassUser
      • TypeUtilsTests.GenericClass<T>
      • UriUtilsTest
  • Unity
    • FIVE.Unity
      • UFManager
      • UFRelationEngine
      • UFScenarioEngineKernel
    • Xareus.Unity
      • GameObjectExtension
      • Log4netFileAppender
      • Log4netUnityAppender
      • XULog4net
      • XareusManager
    • Xareus.Unity.Converters
      • ColorConverter
      • MemberInfoConverter
      • MethodInfoConverter
      • QuaternionConverter
      • UnityObjectConverter
      • Vector2Converter
      • Vector2IntConverter
      • Vector3Converter
      • Vector3IntConverter
      • Vector4Converter
      • VectorConverter
    • Xareus.Unity.TypeDescriptorContext
      • DictionaryDescriptorContext
      • SimpleTypeDescriptorContext<T>
      • UnityObjectDescriptorContext
  • Unity Relations
    • Xareus.Relations.Scenarios.Unity
      • TypeWithScenario
    • Xareus.Relations.Unity
      • BaseEditorDescriptorAttribute
      • GenerationMode
      • IRelationEngine
      • IdentifiableBehaviour
      • ObjectPatternAttribute
      • ObjectPatternDescriptorAttribute
      • ObjectQueryWithCallback
      • ParameterDescriptorAttribute
      • RealizationQueryWithCallback
      • RelationDescriptorAttribute
      • RelationEngine
      • RelationEngineKernel
      • RelationParameters
      • Serializer
      • TypeDescriptorAttribute
      • TypeMember
      • TypeParentAttribute
      • UniqueIDGenerator
      • XUObject
      • XUObject.XuObjectChanged
      • XUObjectPattern
      • XUObjectQueryParameters
      • XURealization
      • XURealizationQueryParameters
      • XURelation
      • XUType
      • XUTypeSearch
    • Xareus.Relations.Unity.Converters
      • XUObjectConverter
      • XURelationTypeConverter
      • XUTypeConverter
  • Unity Scenarios
      • ABaseScenarioElementUI
      • DecisionTreeUI
    • Xareus.Scenarios.Network.Unity
      • NetworkClient
      • NetworkManager
      • NetworkServer
      • UnityNetSocketTcpScenarioReceiver
      • UnityNetSocketTcpScenarioSender
    • Xareus.Scenarios.Unity
      • AInUnityStepSensor
      • AUnityContextInit
      • AUnityEffector
      • AUnitySensor
      • AUnityTokenAssign
      • AdditionalScenarioFile
      • AdvancedConfigurationParameterAttribute
      • Comment
      • DecisionTreeEvaluation
      • ExternalContextEntryAttribute
      • IScenarioEngine
      • ObsoleteFunctionAttribute
      • ObsoleteFunctionAttribute.ParameterConvesion
      • RuntimeScenarioFileRegistry
      • ScenarioEngine
      • ScenarioEngineKernel
      • ScenarioRunner
      • Section
    • Xareus.Scenarios.Unity.Edition
      • BusinessControl
      • Constants
      • ContextVariableManager
      • ContextVariableManager.SerializedContextVariables
      • IScenarioSerializer
      • IToolbarEntryData
      • Layer
      • Layer.UxmlFactory
      • Layer.UxmlTraits
      • LayerBar
      • LayerBar.UxmlFactory
      • LayerBar.UxmlTraits
      • LayerBarButton
      • LayerBarButton.UxmlFactory
      • LayerBarButton.UxmlTraits
      • ScenarioEditorExtendedInfoUpdater
      • ScenarioSerializer
      • ScenarioTabHandler
      • ScenarioTabHandler.LayerViewData
      • ScenarioTabHandler.LayerViewDataDictionary
      • ScenarioWrapper
      • ScenarioWrapper.ScenarioDataConsumers
      • SequenceType
      • SerializableScenario
      • Tab
      • Tab.UxmlFactory
      • Tab.UxmlTraits
      • ThemeManager
      • ThemeManager.ThemeChange
      • XmlUtils
    • Xareus.Scenarios.Unity.Edition.Events
      • ArcCreatedEvent
      • ArcDeletedEvent
      • ArcStartedEvent
      • CreateContextToFireEvent
      • DeselectedEventArgs
      • EventCallbackFunctor<EventType>
      • IEventCallbackFunctor
      • IScenarioEventHandler
      • IdChangeEvent
      • LabelChangeEvent
      • OpenExternalScenarioEventArgs
      • ScenarioDataChangedEventArgs
    • Xareus.Scenarios.Unity.Edition.UI
      • ABaseArcUI
      • AClickableElementUI
      • ADecisionArcPreviewUI
      • AMovableElementUI
      • AMovableElementUI.MovableElementUIMoved
      • ArcDirectionUI
      • ArcPreviewUI
      • ArcUI
      • ArrowToNodesDirectionUI
      • ArrowToNodesUI
      • BackgroundGrid
      • CanvasUI
      • CanvasUI.UxmlFactory
      • CanvasUI.UxmlTraits
      • CommentUI
      • ComplexSequenceUI
      • DecisionArcUI
      • DecisionNodeUI
      • DecisionUI
      • EffectorUI
      • ExternalScenarioUI
      • FalseDecisionArcPreviewUI
      • FalseDecisionArcUI
      • FalseOutUI
      • FinalUI
      • InitialUI
      • LayerUI
      • NodeUI
      • PartialTokenUI
      • PetriNetUI
      • PlaceUI
      • SMTransitionUI
      • SectionUI
      • SensorUI
      • SequenceUI
      • StateMachineUI
      • StateUI
      • TokenAssignUI
      • TokenMergeUI
      • TokenUI
      • TransitionUI
      • TrueDecisionArcPreviewUI
      • TrueDecisionArcUI
      • TrueOutUI
    • Xareus.Scenarios.Unity.MiddleVR
      • AUnityClusterEffector
      • VRCall
    • Xareus.Scenarios.Unity.Providers
      • IClassConstraintableExtension
      • IClassReceiverExtension
      • IConstraintable
      • IConstraintable<T>
      • IProvider
      • IProvider<T>
      • IReceiver
      • IReceiver<T>
      • ProvideConstraintAttribute
      • ProviderAttribute
      • ValueChangedEventArgs<T>
    • Xareus.Scenarios.Unity.VisualScripting
      • Constants
      • VisualScriptHolder
      • VisualScriptingEffector
      • VisualScriptingSensor
  • Unity Utils
    • Xareus.Unity
      • MethodParameters
    • Xareus.Unity.Utils
      • ClassTemplate
      • ClusterUtils
      • ColorUtils
      • FileUtils
      • StringUtils
      • UnityEditorUtils
      • UnityUtils
  • Unity Librairies
    • Xareus
      • StaticClassMemberValueSensor
    • Xareus.Relations.Scenarios
      • CheckTypeWithScenarioMemberValueSensor
      • InvokeTypeWithScenarioMethodEffector
      • SetTypeWithScenarioMemberValueEffector
    • Xareus.Scenarios.Input
      • KeyPressedSensor
    • Xareus.Scenarios.Relations
      • CheckXareusObjectTypeMemberValueSensor
      • CheckXareusTypeMemberValueSensor
      • CompareXareusTypesMembersValuesSensor
      • InvokeXareusObjectMethodEffector
      • RandomXareusObjectEffector
      • RandomXareusObjectEffector.Result
      • RandomXareusObjectWithTypeEffector
      • SelectXareusTypesFromListEffector
      • SetXareusTypeMemberValueEffector
    • Xareus.Scenarios.Relations.ParametersConverter
      • CheckXareusTypeMemberValueSensorConverter
      • CompareXareusTypesMembersValuesSensorConverter
      • TypeValueSensorParametersConverter
    • Xareus.Scenarios.Time.Unity
      • UnityTimeSensor
      • UnityTimeSensor.TimeType
    • Xareus.Scenarios.Unity
      • AInvokeMethodEffector
      • AnyInputSensor
      • ChangeColorEffector
      • ChangeParentEffector
      • ChangeTextEffector
      • CheckMemberValueSensor
      • CompareMembersValuesSensor
      • DistanceSensor
      • HasComponentOfTypeSensor
      • InvokeStaticMethodEffector
      • InvokeUnityObjectMethodEffector
      • LoadSceneEffector
      • LogEffector
      • ObjectClickedSensor
      • ObjectCollisionSensor
      • PlaySoundEffector
      • SceneLoadedSensor
      • ScreenFadeEffector
      • ScreenFadeEffector.FadeType
      • SelectChildObjects
      • SelectComponents
      • SetActiveEffector
      • SetEnabledEffector
      • SetMemberValueEffector
      • StartDisplaySpriteEffector
      • StartDisplayTextAssetEffector
      • StartDisplayVideoClipEffector
      • StopAudioSourceEffector
      • StopDisplaySpriteEffector
      • StopDisplayTextAssetEffector
      • StopDisplayVideoClipEffector
      • UnityEventSensor
      • UnityNumberSensor
    • Xareus.Scenarios.Unity.UI
      • ButtonClickedSensor
      • DropdownSensor
      • ToggleValueSensor
      • ToggleValueSensor.SelectMode
    • Xareus.Scenarios.Unity.Utils
      • CompareMembersValuesSensorUpdater
      • ObjectCollisionSensorUpdater
    • Xareus.Unity
      • CheckMethodReturnValueSensor
      • DefaultUnityContextInit
      • DefaultUnityTokenUpdate
      • ScreenFadeEffect
      • SetValueInContextEffector
      • UFEOtherTrigger

Class Engine

This class is the entry point of the package. It mainly computes all the possible realizations based on the registered relations and a set of objects.

Inheritance
object
Engine
Implements
IEngine
IDisposable
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Xareus.Relations.CSharp
Assembly: Xareus.Relations.dll
Syntax
[Serializable]
[DataContract(Name = "Engine", Namespace = "http://www.insa-rennes.fr/Xareus.Relations:C#")]
public class Engine : IEngine, IDisposable

Constructors

Engine()

Engine class constructor

Declaration
public Engine()

Properties

Objects

Declaration
[DataMember]
public HashSet<IObject> Objects { get; set; }
Property Value
Type Description
HashSet<IObject>

ObjectsNameObjectsMap

Map of the objects registered in the engine, indexed by their name

Declaration
public Dictionary<string, IObject> ObjectsNameObjectsMap { get; }
Property Value
Type Description
Dictionary<string, IObject>

RegisteredObjects

Declaration
public IEnumerable<IObject> RegisteredObjects { get; }
Property Value
Type Description
IEnumerable<IObject>

RegisteredRelations

Declaration
public IEnumerable<IRelation> RegisteredRelations { get; }
Property Value
Type Description
IEnumerable<IRelation>

Relations

Declaration
[DataMember]
public HashSet<IRelation> Relations { get; set; }
Property Value
Type Description
HashSet<IRelation>

RelationsNameRelationsMap

Map of the relations registered in the engine, indexed by their name

Declaration
public Dictionary<string, IRelation> RelationsNameRelationsMap { get; }
Property Value
Type Description
Dictionary<string, IRelation>

Methods

AddObject(IObject)

Declaration
public void AddObject(IObject @object)
Parameters
Type Name Description
IObject object

AddRelation(IRelation)

Declaration
public void AddRelation(IRelation relation)
Parameters
Type Name Description
IRelation relation

CheckType(IObject, TypeSearch)

Declaration
protected static bool CheckType(IObject obj, TypeSearch type)
Parameters
Type Name Description
IObject obj
TypeSearch type
Returns
Type Description
bool

Deserialize(string)

Declaration
public static Engine Deserialize(string xml)
Parameters
Type Name Description
string xml
Returns
Type Description
Engine

Deserialize(string, out Engine)

Declaration
public static bool Deserialize(string xml, out Engine obj)
Parameters
Type Name Description
string xml
Engine obj
Returns
Type Description
bool

Deserialize(string, out Engine, out Exception)

Deserializes workflow markup into an Engine object

Declaration
public static bool Deserialize(string xml, out Engine obj, out Exception exception)
Parameters
Type Name Description
string xml

string workflow markup to deserialize

Engine obj

Output Engine object

Exception exception

output Exception value if deserialize failed

Returns
Type Description
bool

true if this XmlSerializer can deserialize the object; otherwise, false

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Declaration
public void Dispose()

Dispose(bool)

Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type Name Description
bool disposing

GetObject(string)

Declaration
public IObject GetObject(string objectName)
Parameters
Type Name Description
string objectName
Returns
Type Description
IObject

GetObjects(ObjectQueryParameters, bool)

Declaration
public IEnumerable<IObject> GetObjects(ObjectQueryParameters queryParameters, bool checkRegistered = true)
Parameters
Type Name Description
ObjectQueryParameters queryParameters
bool checkRegistered
Returns
Type Description
IEnumerable<IObject>

GetRealizations()

Declaration
public IEnumerable<Realization> GetRealizations()
Returns
Type Description
IEnumerable<Realization>

GetRealizations(RealizationQueryParameters, bool)

Declaration
public IEnumerable<Realization> GetRealizations(RealizationQueryParameters queryParameters, bool checkRegistered = true)
Parameters
Type Name Description
RealizationQueryParameters queryParameters
bool checkRegistered
Returns
Type Description
IEnumerable<Realization>

GetRelation(string)

Declaration
public IRelation GetRelation(string relationName)
Parameters
Type Name Description
string relationName
Returns
Type Description
IRelation

HasObject(string)

Declaration
public bool HasObject(string objectName)
Parameters
Type Name Description
string objectName
Returns
Type Description
bool

HasRelation(string)

Declaration
public bool HasRelation(string relationName)
Parameters
Type Name Description
string relationName
Returns
Type Description
bool

LoadFromFile(string)

Declaration
public static Engine LoadFromFile(string fileName)
Parameters
Type Name Description
string fileName
Returns
Type Description
Engine

LoadFromFile(string, out Engine)

Declaration
public static bool LoadFromFile(string fileName, out Engine obj)
Parameters
Type Name Description
string fileName
Engine obj
Returns
Type Description
bool

LoadFromFile(string, out Engine, out Exception)

Deserializes XML markup from file into an Engine object

Declaration
public static bool LoadFromFile(string fileName, out Engine obj, out Exception exception)
Parameters
Type Name Description
string fileName

string xml file to load and deserialize

Engine obj

Output Engine object

Exception exception

output Exception value if deserialize failed

Returns
Type Description
bool

true if this XmlSerializer can deserialize the object; otherwise, false

RemoveObject(IObject)

Declaration
public void RemoveObject(IObject @object)
Parameters
Type Name Description
IObject object

RemoveRelation(IRelation)

Declaration
public void RemoveRelation(IRelation relation)
Parameters
Type Name Description
IRelation relation

SaveToFile(string)

Declaration
public virtual void SaveToFile(string fileName)
Parameters
Type Name Description
string fileName

SaveToFile(string, out Exception)

Serializes current Engine object into file

Declaration
public virtual bool SaveToFile(string fileName, out Exception exception)
Parameters
Type Name Description
string fileName

full path of output XML file

Exception exception

output Exception value if failed

Returns
Type Description
bool

true if can serialize and save into file; otherwise, false

Serialize()

Serializes current Engine object into an XML document

Declaration
public virtual string Serialize()
Returns
Type Description
string

string XML value

Implements

IEngine
IDisposable
INSA     IRISA     Inria     Ouest Valorisation Back to top