---
# System prepended metadata

title: NM-related manifest in Machine Manifest

---

# NM-related manifest in Machine Manifest

# Physical??
## machine
- Machine:
The Machine meta-class defines the entity on which one Adaptive AUTOSAR Software Stack is running with an operating system. The Machine may be physical or virtual. (Chapter 7)

> The Machine meta-class defines the entity ((which one Adaptive AUTOSAR Software Stack is running on) with an operating system).

> The AP regards hardware it runs on as a Machine. [AUTOSAR_EXP_PlatformDesign]

Note the field `moduleInstantiation`, it's the configurations of adaptive modules instances on the machine.
![](https://i.imgur.com/j6bxKko.png)
![](https://i.imgur.com/qR0Kz9Y.png)

- AdaptiveModuleInstantiation (ancestor class of NmInstantiation):
The model of platform modules and their instantiation has two major use-cases: 
    - provide dedicated attributes to configure the platform modules
    - define the potential start of the module’s executable as process.
    - NmInstantiation:
    NmInstantiation contains 0 or more NmNetworkHandle.
    In this sense, NmNetworkHandle seems to be the configuration of Nm module, and is specified in NmInstantiation.
 ![](https://i.imgur.com/6PcGsZg.png)
 
- NmNetworkHandle
An important part of NM manifest, we also see it in NM specification.
![](https://i.imgur.com/Jpkr611.png)
![](https://i.imgur.com/K3D8lLl.png)

    And by NM specification:
    - [SWS_ANM_00063] ⌈Each port offered by NM shall enable control of one logical NmNetworkHandle which in turn can be mapped to partial networks or VLANs.⌋
Now we know that the "port" is actually `NetworkState_{NetworkHandle}`, and the variation is now clear.
![](https://i.imgur.com/hFLSNk7.png)
It's basically saying:
    ```c#
    foreach (NetworkHandle in NmInstantiation.networkHnadle) {
    there exists a NetworkState_{NetworkHandle}
    }
    ```
 
 
Before further digging, here's the relation of NM config.
![](https://i.imgur.com/JtF3L1G.png)

## Network connectivity
> One of the most prominent information defined in the context of the MachineDesign is the network connectivity

- EthernetCommunicationConnector
![](https://i.imgur.com/IZTBKlX.png)

![](https://i.imgur.com/qpc7JAs.png)
![](https://i.imgur.com/Imu8EWl.png)

> the basic definition of the connectivity of a `MachineDesign` is created by aggregating the abstract baseclass `CommunicationConnector` in the role `communicationConnector`. The specific subclass of `CommunicationConnector` that is used in this context is the `EthernetCommunicationConnector`.

### apApplicationEndpoint
- ApApplicationEndpoint
⌈The ApApplicationEndpoint defines a UDP or TCP Port on a EthernetCommunicationConnector and defines together with the NetworkEndpoint that is referenced by the same EthernetCommunicationConnector in the role unicastNetworkEndpoint a local endpoint of a network communication path, i.e. a Socket.⌋

The description in the table may be better.
![](https://i.imgur.com/lYHOnua.png)

### unicastNetworkEndpoint
The canonical way to specify an IP address is the modeling of a NetworkEndpoint, referenced from an EthernetCommunicationConnector that is aggregated by MachineDesign in the role communicationConnector.
In addition to the IP address, the NetworkEndpoint may have a Fully Qualified Domain Name and a priority.

More precisely, the particular IP address is configured by means of the aggregation of Ipv4Configuration or Ipv6Configuration in the role networkEndpointAddress.
The NetworkEndpoint is aggregated by the EthernetPhysicalChannel that in turn is aggregated by the EthernetCluster.
![](https://i.imgur.com/K6RQOQi.png)

From the diagram below we see where contains the address config in a NetworkEndpoint.
![](https://i.imgur.com/01NY94n.jpg)


So maybe, can we conclude that `unicastNetworkEndpoint` provides the IP of a Communication Connector and `apApplicationEndpoint` provides the ports opened on the Connector?

## Pnc mapping

# Conceptual??
## Config
### Relation UML
![](https://i.imgur.com/KmFWQl5.jpg)

### Tables
![](https://i.imgur.com/4o2Yml9.png)
![](https://i.imgur.com/i0mfyxG.png)

![](https://i.imgur.com/WmAGpMo.png)

![](https://i.imgur.com/0p6BXRR.png)
![](https://i.imgur.com/gKi3bXI.png)


![](https://i.imgur.com/KjI3kBV.png)

![](https://i.imgur.com/JygYwge.png)
![](https://i.imgur.com/fp0UQQw.png)
