Skip to content

EMRALD_Model Schema

txt
EMRALD_Model

EMRALD model schema version 3.0

AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Cannot be instantiatedYesUnknown statusUnknown identifiabilityForbiddenAllowednoneEMRALD_JsonSchemaV3_0.json

EMRALD_Model Type

object (EMRALD_Model)

all of

EMRALD_Model Definitions

Definitions group MainModel

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/MainModel"}
PropertyTypeRequiredNullableDefined by
idstringOptionalcannot be nullEMRALD_Model
objTypestringRequiredcannot be nullEMRALD_Model
namestringRequiredcannot be nullEMRALD_Model
descstringRequiredcannot be nullEMRALD_Model
emraldVersionnumberOptionalcannot be nullEMRALD_Model
versionnumberRequiredcannot be nullEMRALD_Model
DiagramListarrayRequiredcannot be nullEMRALD_Model
ExtSimListarrayRequiredcannot be nullEMRALD_Model
StateListarrayRequiredcannot be nullEMRALD_Model
ActionListarrayRequiredcannot be nullEMRALD_Model
EventListarrayRequiredcannot be nullEMRALD_Model
LogicNodeListarrayRequiredcannot be nullEMRALD_Model
VariableListarrayRequiredcannot be nullEMRALD_Model
changeLogarrayOptionalcannot be nullEMRALD_Model
groupobjectOptionalcannot be nullEMRALD_Model

id

Temporary, only used internally for some identification or uniqueness needs

id

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

id Type

string

objType

For event type of etDistribution this is the name of the distribution parameter.

objType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

objType Type

string

objType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Diagram"
"State"
"Action"
"Event"
"ExtSim"
"LogicNode"
"Variable"
"EMRALD_Model"

name

Name of the EMRALD model

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

desc

description of the EMRALD model

desc

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

desc Type

string

emraldVersion

Version of the EMRALD model schema

emraldVersion

  • is optional

  • Type: number

  • cannot be null

  • defined in: EMRALD_Model

emraldVersion Type

number

version

Version of the users model

version

  • is required

  • Type: number

  • cannot be null

  • defined in: EMRALD_Model

version Type

number

DiagramList

All the diagrams for the model

DiagramList

DiagramList Type

object[] (Diagram)

ExtSimList

All the external simulation links for the mdoel

ExtSimList

ExtSimList Type

object[] (ExtSim)

StateList

All of the states for the different diagrams of the model

StateList

StateList Type

object[] (State)

ActionList

All the actions that can be used in the model

ActionList

ActionList Type

object[] (Action)

EventList

All the events that are used in the model.

EventList

EventList Type

object[] (Event)

LogicNodeList

All the logic nodes to make the logic trees in the model

LogicNodeList

LogicNodeList Type

object[] (LogicNode)

VariableList

All the variables used in the model

VariableList

VariableList Type

object[] (Variable)

changeLog

Type of the diagram.

changeLog

changeLog Type

object[] (ChangeLogItems)

group

What catagory grouping this item belongs to. Used to indicate a group for and EMRALD model template.

group

group Type

object (Details)

Definitions group Diagram

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/Diagram"}
PropertyTypeRequiredNullableDefined by
idstringOptionalcannot be nullEMRALD_Model
objTypestringRequiredcannot be nullEMRALD_Model
namestringRequiredcannot be nullEMRALD_Model
descstringRequiredcannot be nullEMRALD_Model
diagramTypestringRequiredcannot be nullEMRALD_Model
diagramTemplatestringOptionalcannot be nullEMRALD_Model
diagramLabelstringRequiredcannot be nullEMRALD_Model
statesarrayRequiredcannot be nullEMRALD_Model
changeLogarrayOptionalcannot be nullEMRALD_Model
requiredbooleanOptionalcannot be nullEMRALD_Model

id

Optional. Only used for internal processing needs.

id

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

id Type

string

objType

For event type of etDistribution this is the name of the distribution parameter.

objType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

objType Type

string

objType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Diagram"
"State"
"Action"
"Event"
"ExtSim"
"LogicNode"
"Variable"
"EMRALD_Model"

name

Name of the diagram

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

desc

description of the diagram

desc

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

desc Type

string

diagramType

Type of the diagram. dtSingle - means you can only be in one state of the diagram at a time and states evaluate to a value. dtMulti - means you can be in multiple states at a time, but cant evaluate the diagram

diagramType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

diagramType Type

string

diagramType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"dtSingle"
"dtMulti"

diagramTemplate

name of template used to make this diagram

diagramTemplate

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

diagramTemplate Type

string

diagramLabel

Name of grouping in the UI for this diagram

diagramLabel

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

diagramLabel Type

string

states

Names of the states used in this diagram

states

  • is required

  • Type: string[]

  • cannot be null

  • defined in: EMRALD_Model

states Type

string[]

changeLog

Type of the diagram.

changeLog

changeLog Type

object[] (ChangeLogItems)

required

If this is a template then it indicates the item must exist in the current model before using the template.

required

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

required Type

boolean

Definitions group ExtSim

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/ExtSim"}
PropertyTypeRequiredNullableDefined by
idstringOptionalcannot be nullEMRALD_Model
objTypestringRequiredcannot be nullEMRALD_Model
namestringRequiredcannot be nullEMRALD_Model
resourceNamestringRequiredcannot be nullEMRALD_Model
requiredbooleanOptionalcannot be nullEMRALD_Model

id

Optional, internal use only.

id

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

id Type

string

objType

For event type of etDistribution this is the name of the distribution parameter.

objType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

objType Type

string

objType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Diagram"
"State"
"Action"
"Event"
"ExtSim"
"LogicNode"
"Variable"
"EMRALD_Model"

name

referenace name in the model for the external simulation

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

resourceName

name of resource type to connect to in MsgServer, not unique if more than one simulation of the same tool

resourceName

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

resourceName Type

string

required

If this is a template then it indicates the item must exist in the current model before using the template.

required

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

required Type

boolean

Definitions group State

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/State"}
PropertyTypeRequiredNullableDefined by
idstringOptionalcannot be nullEMRALD_Model
objTypestringRequiredcannot be nullEMRALD_Model
namestringRequiredcannot be nullEMRALD_Model
descstringRequiredcannot be nullEMRALD_Model
stateTypestringRequiredcannot be nullEMRALD_Model
diagramNamestringRequiredcannot be nullEMRALD_Model
immediateActionsarrayRequiredcannot be nullEMRALD_Model
eventsarrayRequiredcannot be nullEMRALD_Model
eventActionsarrayRequiredcannot be nullEMRALD_Model
geometryInfoobjectOptionalcannot be nullEMRALD_Model
changeLogarrayOptionalcannot be nullEMRALD_Model
defaultSingleStateValuestringOptionalcannot be nullEMRALD_Model
requiredbooleanOptionalcannot be nullEMRALD_Model

id

id

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

id Type

string

objType

For event type of etDistribution this is the name of the distribution parameter.

objType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

objType Type

string

objType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Diagram"
"State"
"Action"
"Event"
"ExtSim"
"LogicNode"
"Variable"
"EMRALD_Model"

name

referenace name in the model for state

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

desc

User entered description of the state

desc

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

desc Type

string

stateType

Type of the state

stateType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

stateType Type

string

stateType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"stStart"
"stKeyState"
"stStandard"
"stTerminal"

diagramName

Diagram the state belongs to, A state can only be in one diagram.

diagramName

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

diagramName Type

string

immediateActions

Array of name references for the immediate actions to be run when entering the state

immediateActions

  • is required

  • Type: string[]

  • cannot be null

  • defined in: EMRALD_Model

immediateActions Type

string[]

events

Array of name references to events. These event will be monitored for when in this state.

events

  • is required

  • Type: string[]

  • cannot be null

  • defined in: EMRALD_Model

events Type

string[]

eventActions

actions for the events in sibling "events" array. One to one relationship.

eventActions

eventActions Type

object[] (EventActionItems)

geometryInfo

position for the GUI

geometryInfo

geometryInfo Type

object (GeometryInfo)

changeLog

Type of the diagram.

changeLog

changeLog Type

object[] (ChangeLogItems)

defaultSingleStateValue

For single state diagrams. Boolean value for the diagram when evaluated in a logic tree. Ignore - removes that item from the logic calculation.

defaultSingleStateValue

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

defaultSingleStateValue Type

string

defaultSingleStateValue Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"True"
"False"
"Ignore"

required

If this is a template then it indicates the item must exist in the current model before using the template.

required

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

required Type

boolean

Definitions group Action

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/Action"}
PropertyTypeRequiredNullableDefined by
idstringOptionalcannot be nullEMRALD_Model
objTypestringRequiredcannot be nullEMRALD_Model
namestringRequiredcannot be nullEMRALD_Model
descstringRequiredcannot be nullEMRALD_Model
actTypestringRequiredcannot be nullEMRALD_Model
mainItembooleanRequiredcannot be nullEMRALD_Model
mutExclbooleanOptionalcannot be nullEMRALD_Model
newStatesarrayOptionalcannot be nullEMRALD_Model
scriptCodestringOptionalcannot be nullEMRALD_Model
variableNamestringOptionalcannot be nullEMRALD_Model
codeVariablesarrayOptionalcannot be nullEMRALD_Model
sim3DMessagestringOptionalcannot be nullEMRALD_Model
extSimstringOptionalcannot be nullEMRALD_Model
sim3DVariablestringOptionalcannot be nullEMRALD_Model
openSimVarParamsbooleanOptionalcannot be nullEMRALD_Model
sim3DModelRefstringOptionalcannot be nullEMRALD_Model
sim3DConfigDatastringOptionalcannot be nullEMRALD_Model
simEndTimestringOptionalcannot be nullEMRALD_Model
makeInputFileCodestringOptionalcannot be nullEMRALD_Model
exePathstringOptionalcannot be nullEMRALD_Model
processOutputFileCodestringOptionalcannot be nullEMRALD_Model
formDataNot specifiedOptionalcannot be nullEMRALD_Model
templateobjectOptionalcannot be nullEMRALD_Model
returnProcessstringOptionalcannot be nullEMRALD_Model
changeLogarrayOptionalcannot be nullEMRALD_Model
raTypestringOptionalcannot be nullEMRALD_Model
updateVariablesarrayOptionalcannot be nullEMRALD_Model
requiredbooleanOptionalcannot be nullEMRALD_Model

id

Optional, internal use only.

id

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

id Type

string

objType

For event type of etDistribution this is the name of the distribution parameter.

objType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

objType Type

string

objType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Diagram"
"State"
"Action"
"Event"
"ExtSim"
"LogicNode"
"Variable"
"EMRALD_Model"

name

referenace name in the model for the action

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

desc

User entered description of the action

desc

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

desc Type

string

actType

The type of action

actType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

actType Type

string

actType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"atTransition"
"atCngVarVal"
"at3DSimMsg"
"atRunExtApp"

mainItem

Is this a global item to show up in the global list, If false it showes up in local or all list.

mainItem

  • is required

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

mainItem Type

boolean

mutExcl

Optional. Only one action may be taken so the probability determines if this action is taken vs another in the EventAction list. If false then the probability is used to sample if this action occured and multiple or no actions could happen when the event is triggered.

mutExcl

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

mutExcl Type

boolean

newStates

Optional. If this is a transition action then these are the states that it could be transitioned to.

newStates

newStates Type

object[] (NewState)

scriptCode

Optionsl. Script code to be executed if the action type has a script

scriptCode

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

scriptCode Type

string

variableName

Optional. For change var value actions, the result of the script is assigned to this variable name reference.

variableName

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

variableName Type

string

codeVariables

Optional. If action has a script, these are the variable name references for variables used in the script. All variables used in script must be in this list.

codeVariables

  • is optional

  • Type: string[]

  • cannot be null

  • defined in: EMRALD_Model

codeVariables Type

string[]

sim3DMessage

Optional. For action type at3DSimMsg, this is the message to be sent to the coupled external simulation.

sim3DMessage

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

sim3DMessage Type

string

extSim

Optional. For action type at3DSimMsg, this is the name of the coupled external sim to send the message to.

extSim

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

extSim Type

string

sim3DVariable

Optional. For action type at3DSimMsg and a sim3DMessage of atCompModify, this is the name of the variable in the external simulation to be modified by the message.

sim3DVariable

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

sim3DVariable Type

string

openSimVarParams

Optional. For action type at3DSimMsg with a sim3DMessage of type atOpenSim, this flag indicates that the JSON has the properties for sim3DModelRef, sim3DConfigData, and simEndTime.

openSimVarParams

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

openSimVarParams Type

boolean

sim3DModelRef

Optional. For action type at3DSimMsg with a sim3DMessage of type atOpenSim, this is the data defined by the user that is used by the external simulation on startup. Typically a path to a model it need to open.

sim3DModelRef

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

sim3DModelRef Type

string

sim3DConfigData

Optional. For action type at3DSimMsg with a sim3DMessage of type atOpenSim, this is the data defined by the user that is used by the external simulation on startup.

sim3DConfigData

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

sim3DConfigData Type

string

simEndTime

Optional. For action type at3DSimMsg with a sim3DMessage of type atOpenSim, this is the end simulation time defined by the user that is used by the external simulation on startup.

simEndTime

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

simEndTime Type

string

makeInputFileCode

Optional. For action type atRunExtApp. It is the C# script to be executed and the result strig passed as a parameter to the executable to be run.

makeInputFileCode

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

makeInputFileCode Type

string

exePath

Optional. For action type atRunExtApp. It is the path of the exe to be run. It can be relative to the location of the EMRALD model.

exePath

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

exePath Type

string

processOutputFileCode

Optional. For action type atRunExtApp. It is the C# script to be executed after the accociated exe is ran. Typically it reads a result file and script typically returns a string list with +/-[StateName] to shift out or into a state because of the results..

processOutputFileCode

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

processOutputFileCode Type

string

formData

Used for executing applications with custom form data. This can be anything needed by the custom form, but in the end only the standard atRunExtApp fields are used to do the action.

formData

  • is optional

  • Type: unknown

  • cannot be null

  • defined in: EMRALD_Model

formData Type

unknown

template

Optional. For action type atRunExtApp. It is used for custom app form.

template

template Type

object (Details)

returnProcess

Optional. For action type atRunExtApp. It is flag to indicate the type of return from the processOutputFileCode. If rtNone then it has no return, othrwise the C# script must return a List of strings with +/-[StateName] to shift out or into a state.

returnProcess

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

returnProcess Type

string

changeLog

Type of the diagram.

changeLog

changeLog Type

object[] (ChangeLogItems)

raType

String for the run application action, only for UI used. Options depend on the custom UI forms made. "code" means default user defined pre and post execution code is used.

raType

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

raType Type

string

updateVariables

Used for custom form, variables used in the form.

updateVariables

  • is optional

  • Type: array

  • cannot be null

  • defined in: EMRALD_Model

updateVariables Type

array

required

If this is a template then it indicates the item must exist in the current model before using the template.

required

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

required Type

boolean

Definitions group Event

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/Event"}
PropertyTypeRequiredNullableDefined by
idstringOptionalcannot be nullEMRALD_Model
objTypestringRequiredcannot be nullEMRALD_Model
namestringRequiredcannot be nullEMRALD_Model
descstringRequiredcannot be nullEMRALD_Model
mainItembooleanRequiredcannot be nullEMRALD_Model
evTypestringRequiredcannot be nullEMRALD_Model
allItemsbooleanOptionalcannot be nullEMRALD_Model
triggerStatesarrayOptionalcannot be nullEMRALD_Model
varNamesarrayOptionalcannot be nullEMRALD_Model
ifInStatebooleanOptionalcannot be nullEMRALD_Model
onSuccessbooleanOptionalcannot be nullEMRALD_Model
triggerOnFalsebooleanOptionalcannot be nullEMRALD_Model
logicTopstringOptionalcannot be nullEMRALD_Model
lambdaMergedOptionalcannot be nullEMRALD_Model
lambdaTimeRatestringOptionalcannot be nullEMRALD_Model
useVariablebooleanOptionalcannot be nullEMRALD_Model
onVarChangestringOptionalcannot be nullEMRALD_Model
timestringOptionalcannot be nullEMRALD_Model
timeVariableUnitstringOptionalcannot be nullEMRALD_Model
fromSimStartbooleanOptionalcannot be nullEMRALD_Model
extEventTypestringOptionalcannot be nullEMRALD_Model
variablestringOptionalcannot be nullEMRALD_Model
codestringOptionalcannot be nullEMRALD_Model
distTypestringOptionalcannot be nullEMRALD_Model
parametersarrayOptionalcannot be nullEMRALD_Model
dfltTimeRatestringOptionalcannot be nullEMRALD_Model
changeLogarrayOptionalcannot be nullEMRALD_Model
requiredbooleanOptionalcannot be nullEMRALD_Model

id

Optional, internal use only.

id

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

id Type

string

objType

For event type of etDistribution this is the name of the distribution parameter.

objType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

objType Type

string

objType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Diagram"
"State"
"Action"
"Event"
"ExtSim"
"LogicNode"
"Variable"
"EMRALD_Model"

name

referenace name in the event in the model.

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

desc

User entered description of the event.

desc

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

desc Type

string

mainItem

Is this a global item to show up in the global list, If false it showes up in local or all list.

mainItem

  • is required

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

mainItem Type

boolean

evType

Type of the event

evType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

evType Type

string

evType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"etStateCng"
"etComponentLogic"
"etFailRate"
"etTimer"
"et3dSimEv"
"etDistribution"
"etVarCond"

allItems

Optional. For event type etStateCng. Flag to indicate if all the items in the triggerStates need to occure as specified or just one of them.

allItems

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

allItems Type

boolean

triggerStates

Optional. For event type etStateCng. List of state name references as part of the criteria needed to trigger the event. These are the states that need to be entered or exited to tirgger the event.

triggerStates

  • is optional

  • Type: string[]

  • cannot be null

  • defined in: EMRALD_Model

triggerStates Type

string[]

varNames

Optional, Name references for all variables used in scripts if the event type uses scripts.

varNames

  • is optional

  • Type: string[]

  • cannot be null

  • defined in: EMRALD_Model

varNames Type

string[]

ifInState

Optional. For event type etStateCng, flag to indicate that event is triggired when entering or exiting states listed in triggerStates array. On Enter State/s or On Exit State/s

ifInState

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

ifInState Type

boolean

onSuccess

Optional. For event type etStateCng, flag to indicate that event is triggering needs all the items or just one or rmore from the states listed in triggerStates array. checkbox - All Items

onSuccess

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

onSuccess Type

boolean

triggerOnFalse

Optional. For event type etComponentLogic, flag to indicate that event is triggered if logic tree evaluates to a False, otherwise it triggeres on true.

triggerOnFalse

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

triggerOnFalse Type

boolean

logicTop

Optional. For event type etComponentLogic, this is the logic tree name to be evaluated for triggering the event.

logicTop

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

logicTop Type

string

lambda

Optional. Parameter for a event with type of etFailRate. It is either a number or the name of a variable if useVariable is true

lambda

lambda Type

merged type (Details)

any of

lambdaTimeRate

Optional. arameter for a event with type of etFailRate. It is the lambda value time frequency.

lambdaTimeRate

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

lambdaTimeRate Type

string

useVariable

Optional. Indicates that variables can be used for the fields

useVariable

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

useVariable Type

boolean

onVarChange

Optional. When an event uses a variable and that variable changes, this tells the code how to update the event.

onVarChange

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

onVarChange Type

string

onVarChange Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"ocIgnore"
"ocResample"
"ocAdjust"

time

Optional, For events of type etTimer. This is a time or variable that indicates the time for the event.

time

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

time Type

string

timeVariableUnit

Optional, For events of type etTimer. This is a time unit if a variable is used for the time. Example X min.

timeVariableUnit

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

timeVariableUnit Type

string

timeVariableUnit Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
""
"trYears"
"trDays"
"trHours"
"trMinutes"
"trSeconds"

fromSimStart

Optional, For time based events, is the time from the beginning of the simulation [true] or from when the state was entered.

fromSimStart

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

fromSimStart Type

boolean

extEventType

Optional. For events of type et3dSimEv. This the type of message being sent to the external simulation. See the external messeage JSON schema.

extEventType

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

extEventType Type

string

extEventType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"etCompEv"
"etEndSim"
"etStatus"

variable

Optional. For event type et3dSimEv and extEventType etCompEv. It is the reference name for the variable. If that variable is modified by the external code, then the script is executed to determine if the event is triggered.

variable

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

variable Type

string

code

Optional. For event type et3dSimEv and extEventType etCompEv. It is the reference name for the variable. If that variable is modified by the external code, then this code script is executed to determine if the event is triggered.

code

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

code Type

string

distType

Optional. For event type of etDistribution this is the type of distribution the user selected.

distType

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

distType Type

string

distType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"dtNormal"
"dtExponential"
"dtWeibull"
"dtLogNormal"
"dtTriangular"
"dtGamma"
"dtGompertz"
"dtUniform"
"dtBeta"

parameters

Optional. For event type of etDistribution this is an array of properties for the distribution calculation.

parameters

parameters Type

object[] (EventDistributionParameter)

dfltTimeRate

Optional, For events of type etTimer. This is a time unit if a variable is used for the time. Example X min.

dfltTimeRate

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

dfltTimeRate Type

string

dfltTimeRate Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
""
"trYears"
"trDays"
"trHours"
"trMinutes"
"trSeconds"

changeLog

Type of the diagram.

changeLog

changeLog Type

object[] (ChangeLogItems)

required

If this is a template then it indicates the item must exist in the current model before using the template.

required

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

required Type

boolean

Definitions group LogicNode

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/LogicNode"}
PropertyTypeRequiredNullableDefined by
idstringOptionalcannot be nullEMRALD_Model
objTypestringRequiredcannot be nullEMRALD_Model
namestringRequiredcannot be nullEMRALD_Model
descstringRequiredcannot be nullEMRALD_Model
gateTypestringRequiredcannot be nullEMRALD_Model
compChildrenarrayRequiredcannot be nullEMRALD_Model
gateChildrenarrayRequiredcannot be nullEMRALD_Model
isRootbooleanRequiredcannot be nullEMRALD_Model
changeLogarrayOptionalcannot be nullEMRALD_Model
requiredbooleanOptionalcannot be nullEMRALD_Model

id

Optional, internal use only.

id

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

id Type

string

objType

For event type of etDistribution this is the name of the distribution parameter.

objType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

objType Type

string

objType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Diagram"
"State"
"Action"
"Event"
"ExtSim"
"LogicNode"
"Variable"
"EMRALD_Model"

name

referenace name in the logic node

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

desc

User entered description of the logic node

desc

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

desc Type

string

gateType

Gate type for the logic node

gateType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

gateType Type

string

gateType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"gtAnd"
"gtOr"
"gtNot"

compChildren

Array of component diagram names and state values to use in evaluating if not using the default value.

compChildren

compChildren Type

object[] (CompChildItems)

gateChildren

Array of logic node names that are children of this gate.

gateChildren

  • is required

  • Type: string[]

  • cannot be null

  • defined in: EMRALD_Model

gateChildren Type

string[]

isRoot

Flag indicating that this is to be displayed as a tree top in the UI and can be used in an evaluate logic tree event.

isRoot

  • is required

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

isRoot Type

boolean

changeLog

Type of the diagram.

changeLog

changeLog Type

object[] (ChangeLogItems)

required

If this is a template then it indicates the item must exist in the current model before using the template.

required

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

required Type

boolean

Definitions group Variable

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/Variable"}
PropertyTypeRequiredNullableDefined by
idstringOptionalcannot be nullEMRALD_Model
objTypestringRequiredcannot be nullEMRALD_Model
namestringRequiredcannot be nullEMRALD_Model
descstringOptionalcannot be nullEMRALD_Model
varScopestringRequiredcannot be nullEMRALD_Model
valueMergedRequiredcannot be nullEMRALD_Model
docLinkstringOptionalcannot be nullEMRALD_Model
docTypestringOptionalcannot be nullEMRALD_Model
docPathstringOptionalcannot be nullEMRALD_Model
pathMustExistbooleanOptionalcannot be nullEMRALD_Model
typestringRequiredcannot be nullEMRALD_Model
accrualStatesDataarrayOptionalcannot be nullEMRALD_Model
regExpLineintegerOptionalcannot be nullEMRALD_Model
begPositionintegerOptionalcannot be nullEMRALD_Model
numCharsintegerOptionalcannot be nullEMRALD_Model
resetOnRunsbooleanOptionalcannot be nullEMRALD_Model
resourceNamestringOptionalcannot be nullEMRALD_Model
sim3DIdstringOptionalcannot be nullEMRALD_Model
changeLogarrayOptionalcannot be nullEMRALD_Model
cumulativeStatsbooleanOptionalcannot be nullEMRALD_Model
monitorInSimbooleanOptionalcannot be nullEMRALD_Model
canMonitorbooleanOptionalcannot be nullEMRALD_Model
requiredbooleanOptionalcannot be nullEMRALD_Model

id

Optional, internal use only.

id

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

id Type

string

objType

For event type of etDistribution this is the name of the distribution parameter.

objType

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

objType Type

string

objType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Diagram"
"State"
"Action"
"Event"
"ExtSim"
"LogicNode"
"Variable"
"EMRALD_Model"

name

referenace name in the model for the variable

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

desc

User entered description of the variable

desc

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

desc Type

string

varScope

Context of use for the variable in the model.

varScope

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

varScope Type

string

varScope Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"gtDocLink"
"gtAccrual"
"gtGlobal"
"gt3DSim"

value

The default value for the variable.

value

value Type

merged type (Details)

any of

If the varScope is gtDocLink then this is the expression defining path in the document to the variable is linked to. XPath for XML, JSONPath for JSON, or a RegularExpression for txt

docLink

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

string

docType

If the varScope is gtDocLink then this the type of document the variable can be linked to. XML, JSON or PlainText using a regular expression

docType

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

docType Type

string

docType Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"dtXML"
"dtJSON"
"dtTextRegEx"

docPath

If the varScope is gtDocLink then this is the path to the document the variable is linked to.

docPath

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

docPath Type

string

pathMustExist

Flag, if true then the file in the docPath must exist when the simulation starts running. This is helpful to minimize errors.

pathMustExist

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

pathMustExist Type

boolean

type

This is the type of the variable, Bool, double, int, string

type

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

type Type

string

type Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"bool"
"double"
"int"
"string"

accrualStatesData

Optional. If the variable varScope is gtAccrual, then these are the states used for calculating the variables value over time.

accrualStatesData

accrualStatesData Type

object[] (accrualStatesDataItems)

regExpLine

Optional. For variable varScope of gtDocLink, docType dtTxtRegExp, this is the regular expression string.

regExpLine

  • is optional

  • Type: integer

  • cannot be null

  • defined in: EMRALD_Model

regExpLine Type

integer

begPosition

Optional. For variable varScope of gtDocLink, docType dtTxtRegExp, this the start possition after the regular expression finds its match for reading or writing the value of the variable.

begPosition

  • is optional

  • Type: integer

  • cannot be null

  • defined in: EMRALD_Model

begPosition Type

integer

numChars

Optional. For variable varScope of gtDocLink, docType dtTxtRegExp, this how many characters to read for the value of the variable

numChars

  • is optional

  • Type: integer

  • cannot be null

  • defined in: EMRALD_Model

numChars Type

integer

resetOnRuns

Optional, this specifies if the value of the variable is to be reset to the default value on each run or retain the value from the last run.

resetOnRuns

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

resetOnRuns Type

boolean

resourceName

Optional. If the variable varScope is gt3DSim, this is the name reference to the external simulation to link to for the value.

resourceName

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

resourceName Type

string

sim3DId

Optional. For variables of varScope gt3DSim, this is the external simulations name of the variable. It is used in sending a message to the external simulation.

sim3DId

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

sim3DId Type

string

changeLog

Type of the diagram.

changeLog

changeLog Type

object[] (ChangeLogItems)

cumulativeStats

Flag to indicate the user want to do cumulative statistics in the results.

cumulativeStats

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

cumulativeStats Type

boolean

monitorInSim

Flag to have the monitor variable check box checked in the solver by default.

monitorInSim

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

monitorInSim Type

boolean

canMonitor

Flag to indicate if the variable can be monitored in the solver. This removes it from the solver UI if false. Must be true if monitorInSim is true.

canMonitor

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

canMonitor Type

boolean

required

If this is a template then it indicates the item must exist in the current model before using the template.

required

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

required Type

boolean

Definitions group NewState

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/NewState"}
PropertyTypeRequiredNullableDefined by
toStatestringRequiredcannot be nullEMRALD_Model
probnumberRequiredcannot be nullEMRALD_Model
failDescstringRequiredcannot be nullEMRALD_Model
varProbstringOptionalcan be nullEMRALD_Model

toState

reference name of the state to transtion to.

toState

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

toState Type

string

prob

probability that this state will be transtioned to.

prob

  • is required

  • Type: number

  • cannot be null

  • defined in: EMRALD_Model

prob Type

number

failDesc

The description from the user for output if tthis transition takes place.

failDesc

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

failDesc Type

string

varProb

Optional, if used then the a variable is used for the probability. This is the name of that variable

varProb

varProb Type

string

Definitions group ChangeLog

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/ChangeLog"}
PropertyTypeRequiredNullableDefined by

Definitions group GeometryInfo

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/GeometryInfo"}
PropertyTypeRequiredNullableDefined by
xintegerOptionalcannot be nullEMRALD_Model
yintegerOptionalcannot be nullEMRALD_Model
widthintegerOptionalcannot be nullEMRALD_Model
heightintegerOptionalcannot be nullEMRALD_Model

x

x

  • is optional

  • Type: integer

  • cannot be null

  • defined in: EMRALD_Model

x Type

integer

y

y

  • is optional

  • Type: integer

  • cannot be null

  • defined in: EMRALD_Model

y Type

integer

width

width

  • is optional

  • Type: integer

  • cannot be null

  • defined in: EMRALD_Model

width Type

integer

height

height

  • is optional

  • Type: integer

  • cannot be null

  • defined in: EMRALD_Model

height Type

integer

Definitions group CompChild

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/CompChild"}
PropertyTypeRequiredNullableDefined by

Definitions group Group

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/Group"}
PropertyTypeRequiredNullableDefined by
namestringRequiredcannot be nullEMRALD_Model
subgrouparrayOptionalcannot be nullEMRALD_Model

name

Name of the group

name

  • is required

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

subgroup

Sub group tree path

subgroup

  • is optional

  • Type: unknown[]

  • cannot be null

  • defined in: EMRALD_Model

subgroup Type

unknown[]

Definitions group DiagramType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/DiagramType"}
PropertyTypeRequiredNullableDefined by

Definitions group StateType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/StateType"}
PropertyTypeRequiredNullableDefined by

Definitions group ActionType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/ActionType"}
PropertyTypeRequiredNullableDefined by

Definitions group EventType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/EventType"}
PropertyTypeRequiredNullableDefined by

Definitions group EventDistributionParameter

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/EventDistributionParameter"}
PropertyTypeRequiredNullableDefined by
namestringOptionalcannot be nullEMRALD_Model
valueMergedOptionalcannot be nullEMRALD_Model
timeRatestringOptionalcannot be nullEMRALD_Model
useVariablebooleanOptionalcannot be nullEMRALD_Model
variablestringOptionalcannot be nullEMRALD_Model

name

For event type of etDistribution this is the name of the distribution parameter.

name

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

name Type

string

name Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
"Mean"
"Standard Deviation"
"Minimum"
"Maximum"
"Rate"
"Shape"
"Scale"
"Peak"
"Alpha"
"Beta"

value

Optional. The value of the parameter if the useVariable flag is false. Can be a number or a string if in scientific notation.

value

value Type

merged type (Details)

any of

timeRate

Optional, For events of type etTimer. This is a time unit if a variable is used for the time. Example X min.

timeRate

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

timeRate Type

string

timeRate Constraints

enum: the value of this property must be equal to one of the following values:

ValueExplanation
""
"trYears"
"trDays"
"trHours"
"trMinutes"
"trSeconds"

useVariable

Flag to use the variable string vs the value item for the property

useVariable

  • is optional

  • Type: boolean

  • cannot be null

  • defined in: EMRALD_Model

useVariable Type

boolean

variable

Optional. The reference name of the variable to use as the value of the parameter if the useVariable flag is true.

variable

  • is optional

  • Type: string

  • cannot be null

  • defined in: EMRALD_Model

variable Type

string

Definitions group VarChangeOptions

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/VarChangeOptions"}
PropertyTypeRequiredNullableDefined by

Definitions group TimeVariableUnit

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/TimeVariableUnit"}
PropertyTypeRequiredNullableDefined by

Definitions group ExtEventMsgType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/ExtEventMsgType"}
PropertyTypeRequiredNullableDefined by

Definitions group DistributionType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/DistributionType"}
PropertyTypeRequiredNullableDefined by

Definitions group GateType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/GateType"}
PropertyTypeRequiredNullableDefined by

Definitions group VarScope

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/VarScope"}
PropertyTypeRequiredNullableDefined by

Definitions group DocVarType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/DocVarType"}
PropertyTypeRequiredNullableDefined by

Definitions group VariableType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/VariableType"}
PropertyTypeRequiredNullableDefined by

Definitions group AccrualVarTableType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/AccrualVarTableType"}
PropertyTypeRequiredNullableDefined by

Definitions group StateEvalValue

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/StateEvalValue"}
PropertyTypeRequiredNullableDefined by

Definitions group EventDistributionParameterName

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/EventDistributionParameterName"}
PropertyTypeRequiredNullableDefined by

Definitions group MainItemType

Reference this group by using

json
{"$ref":"EMRALD_Model#/definitions/MainItemType"}
PropertyTypeRequiredNullableDefined by