Eugen Constantinescu - Genivi - Codecamp 10 may 2014

359 views

Published on

Eugen Constantinescu - Genivi - Codecamp 10 may 2014

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
359
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Ce este Genivi? IVI?
  • GEN (GENeral) & IVI (In Vehicle Infotainment)

    2009 : Continental launches AutoLinQ – open platform leveraging Android OS
    2012: Continental readies GENIVI multimedia head unit
    2014: Open Infotainment Platform (Platform and products are available)
  • Simon Sinek
    credinte, crez
    comportament, proces, ce face diferenta
    ce produs, rezultat, serviciu
  • It’s a community
  • Consumer Electronic
  • Ce este o arhitectura deschisa? (open architecture)
    Una neterminata

    Open architecture is a type of computer architecture or software architecture that is designed to make adding, upgrading and swapping components easy.
  • Intrebare ptr premiu: Cand e un PC 100% sigur?
    Un PC 100% sigur este cand… e inchis 
  • BMW, Munich – orasul cu administratie 100% open source
  • The majority of GENIVI’s work is conducted through the technical and marketing
    teams and groups. There are currently six topical “expert groups” – Automotive,
    CE Connectivity, Location-based Services, Media and Graphics,
    Networking, and System Infrastructure.

    The GENIVI compliance program is a key deliverable of the alliance, providing
    a specification for GENIVI member companies to measure their products.
    Those that meet the specification may be registered as GENIVI Compliant®
    and listed on the GENIVI website. Compliant platforms consist of Linux-based
    core services, middleware, and open application layer interfaces. These are the
    essential but non-differentiating core elements of the overall IVI solution set.
  • GNU General Public License (o licenta virala), LGPL, MIT - Using GPL V3 licensed code in devices in the car therefore requires that users are enabled to install modified software on them. Since the implications to liability and safety have not been fully evaluated - Munchen & BMW
    Community & Companies
    Agreements with customer about each component from Genivi
    Special workshops where architects and community representatives define interfaces (changes)
    Boot loader, lifecycle-ul din automotive are mai multe stari (un automat finit determinist cu mai multe stari) ex: vorbesti la telefon, opresti motorul, scoti cheia, ai iesit din masina
    Comunitatea OS a aparut ca o dorinta de a avea o alternativa la produsele comerciale, mai ales aplicatiile cele mai uzuale
  • Pentru fiecare arie functionala importanta (Expert Group)
    Magistrala de comunicare intre aplicatii si intre kernel si aplicatii (cu impact in lifecycle)
    Aplicatiile OS se pot inlocui cu alte aplicatii (vezi GPL, LGPL)
  • EGs drive the content, SAT coordinates and approves this work, BIT validates by building a Baseline
    EGs are primarily organized by functional domain, but also by region
    Members can implement compliance specification and apply for compliance certification; SAT reviews, provides comments and approves
    There are other groups not shown here including Project Management Organization (PMO), Board of Directors, Marketing Council and their sub-teams
  • The Digital Living Network Alliance (DLNA) is a nonprofit collaborative trade organization established by Sony in June 2003, that is responsible for defining interoperability guidelines to enable sharing of digital media between multimedia devices.
  • The Digital Living Network Alliance (DLNA) is a nonprofit collaborative trade organization established by Sony in June 2003, that is responsible for defining interoperability guidelines to enable sharing of digital media between multimedia devices.
  • D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to inter-process communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a "single instance" application or daemon, and to launch applications and daemons on demand when their services are needed.
    D-Bus supplies both a system daemon (for events such as "new hardware device added" or "printer queue changed") and a per-user-login-session daemon (for general IPC needs among user applications). Also, the message bus is built on top of a general one-to-one message passing framework, which can be used by any two apps to communicate directly (without going through the message bus daemon). Currently the communicating applications are on one computer, or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories. (Help wanted with better remote transports - the transport mechanism is well-abstracted and extensible.)
    Interceptor pattern

  • // A simple program that uses LoadLibrary and
    // GetProcAddress to access myPuts from Myputs.dll.
    #include <windows.h>
    #include <stdio.h>
    typedef int (__cdecl *MYPROC)(LPWSTR);
    int main( void ) {
    HINSTANCE hinstLib;
    MYPROC ProcAdd;
    BOOL fFreeResult, fRunTimeLinkSuccess = FALSE; // Get a handle to the DLL module.
    hinstLib = LoadLibrary(TEXT("MyPuts.dll")); // If the handle is valid, try to get the function address.
    if (hinstLib != NULL) {
    ProcAdd = (MYPROC) GetProcAddress(hinstLib, "myPuts"); // If the function address is valid, call the function.
    if (NULL != ProcAdd) {
    fRunTimeLinkSuccess = TRUE; (ProcAdd) (L"Message sent to the DLL function
    ");
    } // Free the DLL module.
    fFreeResult = FreeLibrary(hinstLib);
    } // If unable to call the DLL function, use an alternative.
    if (! fRunTimeLinkSuccess) printf("Message printed from executable
    ");
    return 0;
    }
  • It’s a community
  • Eugen Constantinescu - Genivi - Codecamp 10 may 2014

    1. 1. Genivi How and Why Open Source
    2. 2. History
    3. 3. Golden circles (Simon Sinek, TED) Why? How? What?
    4. 4. Why Open Source?
    5. 5. Why ? Building TRUST Quick development cycle Saving development effort Better security in Open Source…
    6. 6. Trust
    7. 7. Quick development cycle
    8. 8. Saving development effort
    9. 9. Security
    10. 10. How Many
    11. 11. How Many
    12. 12. HowTo Concept
    13. 13. What Problems GPL V3 is virtually banned from cars. Who is fixing the problems? Who is responsible in front of customer? Who define the components interfaces? Lifecycle management (as seen in automotive) Anti-pattern mindset Corporation vs Open Source
    14. 14. What Solutions Communities Inter Process Communication(D-BUS) Plug-ins
    15. 15. System Architecture Team Baseline Integration Team Compliance Specification CE Connectivity EG HMI- Application Framework EG Location- Based Services EG Media and Graphics EG Networking EG System Infrastructure EG Korea REG 16 Development Teams
    16. 16.  Each development team typically has its mailing list and holds weekly conference calls ◦ genivi-dev@mail.genivi.org  Each team typically arranges several face-to- face meeting per year  Two times a year all participants meet during GENIVI All Member Meetings  SAT has sub-teams for security and compliance  Each Expert Group hosts multiple projects Team Working Mode 17
    17. 17. 18 CE Connectivity EG Scope Bluetooth • Hands-Free Profile (HFP) • Advanced Audio Distribution Profile (A2DP) • Audio/Video Remote Control Profile (AVRCP) • Device ID Profile (DID) • Dial-up Networking Profile (DUN) • File Transfer Profile (FTP) • Headset Profile (HSP) • Object Push Profile (OPP) • Personal Area Networking Profile (PAN) • Phone Book Access Profile (PBAP) • Message Access Profile (MAP) • Low Energy iPod • iPod Out • iAP Media Playback • Media Pipeline • Audio Management • Video Audio Sync • Phonetic Database Device management • Device Detection • Device Identification • Device Classification AV • HDMI inc Wireless • MHL • 3.5mm Jack • AV USB • Composite Video • MiraCast Thunderbolt SATA eSATA AV • DVI • LVDS • VGA 1394 Firewire WiFi DLNA/UPnP • WiFi NFC • NFC • ChargingMedia Playback • Media Indexing • Playback Control • Playlist management • Media Source Abstraction • Metadata Enhancement USB • Wireless Dongle • WiMax • Wifi Smart Device • Common APi • Mirrorlink • IVILink Digital Rights management = Active project USB • Mass Storage • Multimedia Portable Devices • MTP, PTP. = Not currently active TCP/IP • USB • Bluetooth • WiFi Wireless Charging
    18. 18. 19 CE Connectivity EG Scope = Active project= Not currently active Bluetooth • Hands-Free Profile (HFP) • Advanced Audio Distribution Profile (A2DP) • Audio/Video Remote Control Profile (AVRCP) • Device ID Profile (DID) • Dial-up Networking Profile (DUN) • File Transfer Profile (FTP) • Headset Profile (HSP) • Object Push Profile (OPP) • Personal Area Networking Profile (PAN) • Phone Book Access Profile (PBAP) • Message Access Profile (MAP) • Low Energy iPod • iPod Out • iAP Device management • Device Detection • Device Identification • Device Classification AV • HDMI inc Wireless • MHL • 3.5mm Jack • AV USB • Composite Video • MiraCast DLNA/UPnP • WiFi NFC • NFC • Charging Media Playback • Media Indexing • Playback Control • Playlist management • Media Source Abstraction • Metadata Enhancement Smart Device • Common API • Mirrorlink • IVILink USB • Mass Storage • Multimedia Portable Devices • MTP, PTP. Wireless Charging
    19. 19. D-Bus Architecture
    20. 20. Plug-ins typedef int (*PluginFunction)(int); void *plugin = dlopen("plugin.so", RTLD_NOW); PluginFunction *pFunction = dlsym(plugin, “FunctionNameAsDeclaredInInterface"); pFunction(10); dlclose(plugin);
    21. 21. Why Codecamp? Building TRUST Quick development cycle Saving development effort Better security
    22. 22. THANK YOU! Any questions?
    23. 23. Why and How to do business with Open Source Genivi Eugen Constantinescu Continental 10th of May 2014 Please fill in your evaluation form

    ×