Skip to main content

Table 4 List of available operators, which allow to modify the graph structure

From: A development cycle for automated self-exploration of robot behaviors

Name

Definition

Description

\({create}_{\mathcal {C}}\)

\(\mathcal {D} \times \Sigma \to M_{\mathcal {C}}\)

add a component model to the graph

\({create}_{\mathcal {I}}\)

\(\mathcal {D} \times \Sigma \to M_{\mathcal {I}}\)

add an interface model to the graph

\({instantiate}_{\mathcal {C}}\)

\(M_{\mathcal {C}} \times \Sigma \to I_{\mathcal {C}}\)

create a component c from a model m s.t. \(\left (c,m\right) \in \mathcal {I}_{\mathcal {C}}\)

\({instantiate}_{\mathcal {I}}\)

\(M_{\mathcal {I}} \times \Sigma \to I_{\mathcal {I}}\)

create an interface i from an interface model m s.t. \(\left (i,m\right) \in I_{\mathcal {I}}\)

isA

\(M_{\mathcal {C}} \times M_{\mathcal {C}} \to S\)

make component model \(x \in M_{\mathcal {C}}\) a subclass of component model y \(M_{\mathcal {C}}\), such that (x,y)S

hasM

\(M_{\mathcal {C}} \times \mathcal {I} \to H\)

associate an interface instance with a component model

has

\(\mathcal {C} \times \mathcal {I} \to H_{\mathcal {C}}\)

associate an interface instance with a component

compose

\(\mathcal {C} \times M_{\mathcal {C}} \to P\)

make a component part of a component model

connect

\(\mathcal {I} \times \mathcal {I} \to C_{o}\)

define a connection between two interface instances

export

\(\mathcal {I} \times \mathcal {I} \to A\)

define one interface to be an alias for another interface, e.g., to map a component model’s interface to a composing component’s interface