Entity Mapping

System Models

ROS

  • System

    Complex systems with more nodes running simultaneously

  • Node

    Each node in ROS should be responsible for a single, module purpose. Each node can send and receive data to other nodes via topics, services, actions, or parameters.

  • Service[Client Server]

    Services are method of communication for nodes based on a call-and-response model

  • Parameters

    A parameter is a configuration value of a node. You can think of parameters as node settings.

  • Subscriber

  • Publisher

  • Topic

    Topics are one of the main ways in which data is moved between nodes and therefore between different parts of the system.

  • Interface (ROS2)

  • Actions (ROS2)

    Actions are one of the communication types in ROS 2 and are intended for long running tasks. They consist of three parts: a goal, feedback, and a result.

  • Package

    A package can be considered a container for your ROS2 code.

AUTOSAR

AUTOSAR meta model releases and a number of related services including AUTOSAR XSD compliant serialization, rule-based validation, tree and form-based views and editing, and template-based target code, documentation and report generation, and more.

The highest (most abstract) description level is the Virtual Functional Bus (VFB): * Software components

component -> behavior -> implementation

  • Compositions

    Ports

  • Interfaces * Client-Server * Sender-Receiver

ARText by Artop

The AUTOSAR Tool Platform (Artop) is an implementation of common base functionality for AUTOSAR development tools.

ARText is a framework for building textual modeling languages for AUTOSAR.

Example:

package CalculatorPkg

int UInt8 min 0 max 255
int UInt16 min 0 max 65535

interface clientServer Operations {
    operation Multiply {
            in UInt8 factor1
            in UInt8 factor2
            out UInt16 result
    }
}

interface senderReceiver Operands {
    data UInt8 op1
    data UInt8 op2
}

interface senderReceiver Result {
    data UInt16 res
}

component application Calculator {
    ports {
            server Operations provides Operations
            receiver AdditionInput requires Operands
            sender AdditionOutput provides Result
    }
}

internalBehavior CalculatorBehavior for Calculator {
    runnable Multiply[0.0] {
            operationInvokedEvent Operations.Multiply
    }

    runnable Cysclic [0.0] {
            timingEvent 0.1
            dataSendPoint AdditionOutput.res
            dataReceivePoint AdditionInput.*
    }
}

Software Component Language a Syntax Reference pdf

Runtime mappings

ROS: Package -> executable* -> Node* AUTOSAR: ECU -> Runnable* VFB: Composition SWC -> SWC* -> ports*

AUTOSAR

ROS

Remarks

ECU

Package

processor deployment

package

namespace

msg and svc namespaces

composition

system

VFB mapped on pubsub network

component application

executable

contain runnables

runnable

node

ports

interfaces

param

parameters

timingEvent

timer

node periodic execution

implementation

build-type

code generation for ApplicationSoftwareComponentType

modeSwitch

none

runnable state management

none

action

maybe use inout datatype for action notification

delegate port

none

not used in DDS context