e3value user guide

C.4 Relative navigation paths

The following expressions navigate across relations in the ontology.

<RelativeNavigationPath> ::=       <RelativeNavigationStep> |       <RelativeNavigationPath>’.’<RelativeNavigationStep>

<RelativeNavigationStep> ::=       <RelativeNavigationStepObjectName> ’(’’)’ |       <RelativeNavigationStepObjectNameU> ’(’ ObjectName ’)’

The relative navigatrion steps follow the links in the ontology. If a navigation step travels in the many-direction of a relationship, an object name is needed to disambiguate the step. A few examples will make this clear.

For example, from port vp20 in in figure C.1 we can construct the following relative navigation paths.

e3{upstream-transfer(‘‘ve8’’) . upstream-port() . Occurrences}

refers to the number of occurrences of the port at the other end of the transfer.

e3{upstream-transfer(‘‘ve8’’) . upstream-port() . ValueOffering() . ValueInterface() . MarketSegment() . Name}

refers to the name of the market segment at the other end of the transfer.

Using absolute navigation, these same model elements could be referred to by the following expressions regardless where the expressions are used.

e3{#6 . Occurrences} e3{model() . MarketSegment(‘‘Travelers’’) . ValueInterface(‘‘vi4’’) . out-offering() . ValuePort(‘‘ve23’’) . Occurrences}

both refer to the number of occurrences of port ve23.

e3{Model() . MarketSegment(‘‘Travelers’’) . Name}

refers to the name of the Travelers market segment.