Hello all,
I just merged below described pull request #16 to the master branch and created a new version tag 8.0 on the repository https://github.com/GENIVI/AudioManagerPlugins.
Next step is planned to upload a suite of module test cases for the generic controller plugin.
Hope this will not cause any conflicts & Best regards
Martin Koch
Sr. Software Developer
ESE Engineering und Software-Entwicklung GmbH
Am Alten Bahnhof 16
D - 38122 Braunschweig
tel: +49 (0)531 23 880-30
fax: +49 (0)531 23 880-33
Geschäftsführer: Klaus Janz, Clemens Seifert, Lars Schnieder
Handelsregister Braunschweig HRB 5288
Von: genivi-audio-manager [genivi-audio-manager-bounces@lists.genivi.org]" im Auftrag von "Martin Koch [Martin.Koch@ese.de]
Gesendet: Freitag, 13. März 2020 15:57
An: genivi-audio-manager@lists.genivi.org
Betreff: [audio-manager] friendly reminder - GenIVI AM (plugins) - new pull request #16 - redesigned Generic Controller Plugin
Hello all,
regarding mentioned pull request #16 (see below) for the reworked Generic Controller Plugin, I still plan the merge for Wednesday, March 18th. So, if any of you doesn't fully agree with this, please give me a short note on your objections.
Also I have to announce that from April onward (possibly earlier due to COVIT-19 protection) I can no longer access emails received by account mkoch@de.adit-jv.com. Thus I changed my profile to the stable account martin.koch@ese.de.
Martin Koch
Sr. Software Developer
ESE Engineering und Software-Entwicklung GmbH
Am Alten Bahnhof 16
D - 38122 Braunschweig
tel: +49 (0)531 23 880-30
fax: +49 (0)531 23 880-33
Geschäftsführer: Klaus Janz, Clemens Seifert, Lars Schnieder
Handelsregister Braunschweig HRB 5288
-----Original Message-----
From: genivi-audio-manager genivi-audio-manager-bounces@lists.genivi.org On Behalf Of Koch, Martin (ESE GmbH; ADITG/ESM)
Sent: Freitag, 6. März 2020 16:48
To: GenIVI AudioManager Mailing list (genivi-audio-manager@lists.genivi.org) genivi-audio-manager@lists.genivi.org
Subject: [audio-manager] GenIVI AM (plugins) - new pull request #16 - redesigned Generic Controller Plugin
Hello all,
I have created a pull request regarding below announced new version of generic controller plugin. It can be found at https://github.com/GENIVI/AudioManagerPlugins/pull/16 - Introduce redesigned version of Generic Controller Plugin.
In short, changes can be classified as:
support for recent interface extensions
enhanced policy evaluation capabilities
new format of topology and behavior configuration
reworked code structure
enhanced documentation
If you agree, this will be merged around Wednesday, March 18th. along with a major version increase to 8.0.0.
Best regards & Enjoy your weekend
Martin Koch
Advanced Driver Information Technology GmbH Engineering Software Multimedia (ESM) Robert-Bosch-Str. 200
31139 Hildesheim
Germany
Tel. +49 5121 49 6954
Fax +49 5121 49 6999
mkoch@de.adit-jv.commailto:mkoch@de.adit-jv.com
www.adit-jv.comhttp://www.adit-jv.com
ADIT is a joint venture company of Robert Bosch GmbH/Robert Bosch Car Multimedia GmbH and DENSO Corporation
Sitz: Hildesheim, Registergericht: Amtsgericht Hildesheim HRB 3438
Geschaeftsfuehrung: Wilhelm Grabow, Ken Yaguchi
Data protection information: We use your contact information and e-mail communication to process your inquiry and for internal and possibly tax documentation purposes. Your information will only be passed on to third parties if this is necessary to carry out your request or if we are legally obliged to do so.
-----Original Message-----
From: genivi-audio-manager <genivi-audio-manager-bounces@lists.genivi.orgmailto:genivi-audio-manager-bounces@lists.genivi.org> On Behalf Of Koch, Martin (ESE GmbH; ADITG/ESM)
Sent: Montag, 10. Februar 2020 14:48
To: GenIVI AudioManager Mailing list (genivi-audio-manager@lists.genivi.orgmailto:genivi-audio-manager@lists.genivi.org) <genivi-audio-manager@lists.genivi.orgmailto:genivi-audio-manager@lists.genivi.org>
Subject: [audio-manager] GenIVI Am - Generic Controller Plugin - new version announcement
Hello all,
regarding the generic controller plugin, we at ADIT have largely enhanced it to suite our customer requirements. The version maintained by ADIT and used in our customers projects is close to ~350 commits ahead of the latest common ancestor tagged '7.3' with some changes from 2016.
According to its original design, the generic controller plugin still can be characterized through below conceptual guidelines:
Topology:
Elements like sources, sinks and gateway are hosted in routing-side domains
Converters are not supported
Sources and sinks are (mandatorily) grouped through assignment to a class element
Allowed streaming routes are specified for mentioned class elements
Expected system topology with domains as well as static sources, sinks and gateways shall be pre-configured in configuration-XML file
Dynamic sources, sinks and / or gateways can be allowed. Such dynamic elements are to be registered at runtime from routing side.
Events:
User requests from command side, as well as registration requests and change notifications from routing side are abstracted as incoming events and immediately converted to trigger objects
A trigger object memorizes the details of an event.
Trigger objects are queued and processed sequentially, one at a time.
While processing a trigger, appropriate action object(s) are created and configured according to business logic
Action Handling:
Action objects are queued and executed sequentially, one at a time
Action objects can have embedded child actions
Action objects, while executing, usually launch commands to the routing side and/or notifications to the command side
Action execution may be suspended while waiting for completion of an asynchronous operation on routing side. On reception of the response it is resumed automatically.
Missing responses (acceptable duration is configurable) cause rolling back the current action
Error responses from routing side causes the current action to roll back
Project-specific policies:
Project-specific business logic is represented as policy rules and given in XML format
Action(s) to be executed are selected and configured per event details
Event details are determined from trigger type and trigger parameters
Action behavior can be fine-tuned through action parameters
A family of functions and macros is available to evaluate policy conditions and action parameters
Our changes mainly relate to structural simplifications, policy evaluation capabilities and documentation updates.
With respect to above aspects the current version is a robust, stable and flexibly configurable component which serves the needs of several different project topologies.
Probably the most important drawback of our changes is the format change for the topology and behavior specification XML. Although the information content has evolved only slightly, the new format makes extensive use of XML attributes instead of child elements and thus allows for significantly shorter coding. The parser was updated in one shot without any backward compatibility. So upgrading to the new version requires to re-write customer configurations.
Due to the huge amount of differences between the current OSS version and the recent version hosted on ADIT servers I consider it far too expensive in effort to create a pull request for each commit or even each modification set. Therefore I propose updating the whole component in a single replacement commit.
Thus I would like to check with you
if anyone needs continuous support for the old XML format because he/she tends to update, but has configurations installed with the current OSS format
if we need to setup some kind of stabilization branch to retain the current OSS version (tag '7.6', VERSION 7.4.0 as of CMakeLists.txt)
how we should deal with the version identifier (this should be at least a major version increase)
Your comments are welcome & Best regards
Martin Koch
Advanced Driver Information Technology GmbH Engineering Software Multimedia (ESM) Robert-Bosch-Str. 200
31139 Hildesheim
Germany
genivi-audio-manager mailing list
genivi-audio-manager@lists.genivi.orgmailto:genivi-audio-manager@lists.genivi.org
http://lists.genivi.org/mailman/listinfo/genivi-audio-manager_lists.genivi.org
genivi-audio-manager mailing list
genivi-audio-manager@lists.genivi.orgmailto:genivi-audio-manager@lists.genivi.org
http://lists.genivi.org/mailman/listinfo/genivi-audio-manager_lists.genivi.org
genivi-audio-manager mailing list
genivi-audio-manager@lists.genivi.org
http://lists.genivi.org/mailman/listinfo/genivi-audio-manager_lists.genivi.org