Skip to content

Conversation

FScholPer
Copy link
Contributor

Added Feature Request description and requirements

Frank Scholter Peres [email protected], Mercedes-Benz Tech Innovation GmbH
Provider Information

@FScholPer FScholPer linked an issue Jul 4, 2025 that may be closed by this pull request
Copy link
Contributor

@timkl7 timkl7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue with directory name

Copy link

github-actions bot commented Jul 8, 2025

The created documentation from the pull request is available at: docu-html

@HartmannNico HartmannNico changed the title docs: added nonipc feature(#916) Cross-VM IPC (#916) Aug 4, 2025
@HartmannNico
Copy link
Contributor

In COM Architecture Meeting on 2025/08/04 we concluded this is a modification of the FR for COM #229. Hence this FR/PR does not constitute a new feature, but creates an updated version of the COM FR.
The description and requiremements from features/nonipc folder shall move into features/ipc.
We use this PR to follow up on this documentation migration appropriately.

Copy link
Contributor

@hth9fe hth9fe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor changes

@AlexanderLanin AlexanderLanin requested a review from Copilot August 6, 2025 14:05
Copilot

This comment was marked as outdated.

FScholPer and others added 5 commits August 7, 2025 08:21
Co-authored-by: ThomasHahn <[email protected]>
Signed-off-by: Frank Scholter Peres(MBTI) <[email protected]>
Co-authored-by: ThomasHahn <[email protected]>
Signed-off-by: Frank Scholter Peres(MBTI) <[email protected]>
Co-authored-by: ThomasHahn <[email protected]>
Signed-off-by: Frank Scholter Peres(MBTI) <[email protected]>
Co-authored-by: ThomasHahn <[email protected]>
Signed-off-by: Frank Scholter Peres(MBTI) <[email protected]>
Co-authored-by: ThomasHahn <[email protected]>
Signed-off-by: Frank Scholter Peres(MBTI) <[email protected]>
@AlexanderLanin AlexanderLanin requested a review from Copilot August 7, 2025 07:14
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive documentation for Cross-VM IPC functionality, introducing requirements and specifications for inter-virtual machine communication capabilities.

  • Adds stakeholder requirement for cross-VM communication support
  • Introduces detailed feature requirements for cross-VM communication mechanisms
  • Creates feature documentation with specifications for one-way data sharing and streamed data communication

Reviewed Changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.

File Description
docs/requirements/stakeholder/index.rst Adds stakeholder requirement for cross-VM communication
docs/features/communication/index.rst Updates table of contents to include crossvm documentation
docs/features/communication/crossvm/requirements/index.rst Defines detailed functional requirements for cross-VM communication features
docs/features/communication/crossvm/index.rst Provides feature specification, motivation, and implementation details

FScholPer and others added 3 commits August 7, 2025 11:24
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Frank Scholter Peres(MBTI) <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Frank Scholter Peres(MBTI) <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Frank Scholter Peres(MBTI) <[email protected]>
@FScholPer
Copy link
Contributor Author

Still need the approval. Also all github copilot issues where fixed now

AlexanderLanin
AlexanderLanin previously approved these changes Aug 7, 2025
Copy link
Member

@AlexanderLanin AlexanderLanin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving as discussed

This feature provides mechanisms for communication and data exchange between processes in different Virtual Machines (VM).
It includes two classes of communication/data-exchange:

1. One-way data sharing into a VM for (vehicle) state read-only for the VM (snapshot state)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might not get the real intention behind this.
As @HartmannNico already mentioned: This should not be a distinct feature request, but rather a change/addition to the existing mw/com/ipc feature.
In the sense, that:

mw::com shall support, that communicating proxies and skeletons might be deployed in processes residing in different VMs!

Thats it.
Because the communication paradigms introduced in mw::com (services, events, fields, service-methods) shall imho stay exact the same. The points under (1) and (2) seem to describe an alternative communication pattern deviating from mw::com?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @crimson11 you are very late on the last day before deadline. It is already an feature modification request. And already discussed multiple times in the meetings without any feedback. And yes it does not only change to communicate between vms but also other requirements. because the communication paradigms introduced in mw::com (services, events, fields, service-methods) shall imho stay exact the same what is the argument to not extend the current solution?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain why these two requirements change the paradigms?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @FScholPer

Had a short discussion internally and I guess, that @antonkri will reach out to you.
In a nutshell:
Our "preference" would be, that score::mw::com allows/supports, that a corresponding proxy/skeleton pair could be also located in different processes in different VMs.
Technically we would then need to implement either a gateway, which handles the underlying data-exchange between VMs or come up with a setup, where the shared-memory used by score::mw::com between proxy/skeleton is also "visible"/shareable over VM boundaries.
From the user perspective (writing code against the score::mw::com API) it is then transparent, whether the communication is local to the same OS-instance/VM or cross OS-instance/VM.
But it also means, that the event/field/method communication paradigms are identical.

Where I saw the "paradigm" shift/change:
My "interpretation" of the part under (2)

  • Support for bi-directional communication via writable data elements by the client

was, that you expect, that a client receiving a "data element", which is an event/field sample in the score::mw::com sense, can update/write to this received "data element" and this change/write is then also visible again to the provider. This is not supported at all by score::mw::com.

Copy link
Contributor

@LittleHuba LittleHuba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed and agreed in the last architecture workshop this shall be a change request to the existing IPC feature. Currently this is a new subfeature beneath the communication feature.

See notes in https://github.com/orgs/eclipse-score/discussions/1247

Hence, to counteract existing approvals, I'll put a change request.

@FScholPer
Copy link
Contributor Author

@LittleHuba As it resides also in com and uses the same prefix it is part of com and so lola. The only difference is that I used another folder as this is another usecase as normal IPC. But it is still a modification request and vm to vm is not the only part as you can read.

@LittleHuba
Copy link
Contributor

Ahh okay now I understand the misunderstanding.
The communication feature is not LoLa. The communication feature corresponds to mw::com.
The IPC subfeature of the communication feature corresponds to LoLa.

The summary from the architecture workshop was, that your request boils down to IPC across VM boundaries.
Hence, the request to directly modify the IPC subfeature and not add another subfeature next to IPC.

…-memory-com

# Conflicts:
#	docs/features/communication/index.rst
@FScholPer FScholPer force-pushed the 916-fq-non-ipc-shared-memory-com branch from 68e5d40 to 0eba313 Compare September 10, 2025 10:56
@FScholPer
Copy link
Contributor Author

@LittleHuba @crimson11 as discussed in the last com meeting this pull request does now only contain the cross vm part. The rest will be now in #1715. Please review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature Request for Cross-VM IPC
7 participants