SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Using R4 in Vehicle
Embedded Systems
Siemens VDO
Automotive
Miguel Lopez, Software ArchitectMiguel Lopez, Software Architect
AgendaAgenda
•• SubjectSubject
–– why we decided to use R4 in vehicle systemwhy we decided to use R4 in vehicle system
•• IntroductionIntroduction
–– Release 4 is a major stepRelease 4 is a major step
•• How to use R4 in vehicle embedded systems?How to use R4 in vehicle embedded systems?
–– Illustrated with concrete use casesIllustrated with concrete use cases
•• ConclusionConclusion
Who Are We?Who Are We?
•• Siemens VDO &Siemens VDO & OSGiOSGi AllianceAlliance
–– Siemens VDO is involved inSiemens VDO is involved in OSGiOSGi Alliance since 2001Alliance since 2001
•• is the Siemens VDO Platformis the Siemens VDO Platform
•• multimedia system based onmultimedia system based on OSGiOSGi Service PlatformService Platform
•• used in BMW 1, 3, 5 and 6 Series, X3used in BMW 1, 3, 5 and 6 Series, X3
•• used in current developments for other Car makersused in current developments for other Car makers
R4 Is a Major ReleaseR4 Is a Major Release
•• Important milestones achieved inImportant milestones achieved in OSGiOSGi AllianceAlliance
–– R4 Core (including Compendium) SpecificationsR4 Core (including Compendium) Specifications --
releasedreleased
–– R4 Vehicle and Mobile SpecificationsR4 Vehicle and Mobile Specifications –– soonsoon
•• What are the changes/improvements?What are the changes/improvements?
–– Comparison between R3 and R4: two metricsComparison between R3 and R4: two metrics
•• Specification (number of pages)Specification (number of pages)
•• API Changes (number of methods)API Changes (number of methods)
R4 Has Been Significantly IncreasedR4 Has Been Significantly Increased
•• Specification DocumentsSpecification Documents
(number of pages)(number of pages)
–– twice as many pagestwice as many pages
in R4 than R3in R4 than R3
•• API Changes (number ofAPI Changes (number of
public methods)public methods)
–– twice as many publictwice as many public
methods in R4 than R3methods in R4 than R3
104
288
450
900
0
500
1000
R1 R2 R3 R4
151
353
661
1432
0
500
1000
1500
R4 Is Adapted and SuitableR4 Is Adapted and Suitable
•• Is it suitable for vehicle system?Is it suitable for vehicle system?
–– OSGiOSGi Service Platform originally targeted "smallService Platform originally targeted "small
devices"devices"
•• Now, R4 is applicable in many architecturesNow, R4 is applicable in many architectures
–– add powerful new modularity capabilities to Javaadd powerful new modularity capabilities to Java
–– improved encapsulation of software unitsimproved encapsulation of software units
–– R4 plans to address a large device rangeR4 plans to address a large device range
•• However, R4 is well adapted and suitable forHowever, R4 is well adapted and suitable for
vehicle systemsvehicle systems
–– Lets have a look at the use casesLets have a look at the use cases
Use CasesUse Cases
•• Gradually Integrate new featuresGradually Integrate new features
•• Localize applicationsLocalize applications
•• Enhance the development of applicationsEnhance the development of applications
•• Help interHelp inter--bundle communicationbundle communication
•• Manage power changesManage power changes
•• Diagnose the systemDiagnose the system
Gradually Integrate New FeaturesGradually Integrate New Features
•• Systems are rapidly becoming complex as theirSystems are rapidly becoming complex as their
capacities increasecapacities increase
•• Critical step in the software process is integrationCritical step in the software process is integration
–– integrate all modules/components/features within aintegrate all modules/components/features within a
single platform and a given productsingle platform and a given product
–– handle complex dependencieshandle complex dependencies
•• Even worse... some are conflictingEven worse... some are conflicting
–– Let look at a concrete exampleLet look at a concrete example
Gradually Integrate New FeaturesGradually Integrate New Features
•• No way with R3. What about R4?No way with R3. What about R4?
Navigation
App 1.0
Foundation
Library 1.0
version 1.0
OSGi Service Platform
Integration Area
Phone
App 1.0
Foundation
Library 2.0
version 2.0
Package Conflicts
Phone
Team
Navigation
Team
Core
Team
Gradually Integrate New Features With R4Gradually Integrate New Features With R4
Core Framework ModularityCore Framework Modularity
•• Manages multi versions of the same packageManages multi versions of the same package
•• Both modules can then coexistBoth modules can then coexist
•• AdvantagesAdvantages
–– Integrators have more flexibilityIntegrators have more flexibility
–– Developers team can defer new baseline integrationDevelopers team can defer new baseline integration
Localize ApplicationsLocalize Applications
•• What is localization?What is localization?
–– adapting an application to various languages, culturesadapting an application to various languages, cultures
and environmentsand environments
•• textual elements are not hard codedtextual elements are not hard coded
•• support for new languages without recompilationsupport for new languages without recompilation
•• culturally dependent format for dates, currencies ...culturally dependent format for dates, currencies ...
•• Java SE Platform already provides such featuresJava SE Platform already provides such features
–– java.util.Localejava.util.Locale,, java.util.ResouceBundlejava.util.ResouceBundle, etc ..., etc ...
•• Java SE Localization must be adapted toJava SE Localization must be adapted to OSGiOSGi
–– Both use Java classBoth use Java class--loading capabilities for searchingloading capabilities for searching
resources, classesresources, classes
Localize Applications With R4Localize Applications With R4
Fragment Bundle (Modularity Layer)Fragment Bundle (Modularity Layer)
•• Fits Java SE Localization conceptsFits Java SE Localization concepts
•• Ease to understand for Java DevelopersEase to understand for Java Developers
•• Very FlexibleVery Flexible
–– New languages may be added after deploymentNew languages may be added after deployment
–– Good migration of legacy Java ApplicationsGood migration of legacy Java Applications
Enhance Development of ApplicationsEnhance Development of Applications
•• OSGiOSGi technology defines a powerful servicetechnology defines a powerful service
oriented architecture ... Howeveroriented architecture ... However
–– Number of services grows quicklyNumber of services grows quickly
•• Complex interComplex inter--service dependenciesservice dependencies
–– Due to dynamic nature ofDue to dynamic nature of OSGiOSGi environmentenvironment
–– Deal with specificDeal with specific OSGiOSGi APIsAPIs
•• Developer may not prepare to deal with this modelDeveloper may not prepare to deal with this model
•• It seems reasonable to solve in a single place allIt seems reasonable to solve in a single place all
these issuesthese issues
Service Programming Model With R3Service Programming Model With R3
METAMETA--INF/INF/Manifest.mfManifest.mf
BundleBundle--Activator:Activator: com.osgicongress.Hellocom.osgicongress.Hello
com.osgicongress.Hello.javacom.osgicongress.Hello.java
public class Hello implementspublic class Hello implements BundleActivatorBundleActivator
{{
public voidpublic void start(BundleContextstart(BundleContext bcbc))
{{
ServiceTrackerServiceTracker tracker = newtracker = new ServiceTracker(bcServiceTracker(bc,,
""org.osgi.service.log.LogServiceorg.osgi.service.log.LogService", null);", null);
tracker.opentracker.open();();
LogServiceLogService log = (log = (LogService)tracker.getServiceLogService)tracker.getService();();
if (log != null)if (log != null)
{{
log.log(LogService.LOG_INFO,"Hellolog.log(LogService.LOG_INFO,"Hello OSGiOSGi Congress");Congress");
}}
elseelse
{{
// what to do here ...// what to do here ...
}}
}}
public voidpublic void stop(BundleContextstop(BundleContext bcbc) {}) {}
}}
some extra tests ...
some uncomfortable
situations!
R3 requires to keep
track of services
Service Programming Model With R4Service Programming Model With R4
Declarative ServicesDeclarative Services
•• Simplifies the service oriented programming modelSimplifies the service oriented programming model
(XML description)(XML description)
•• Assists bundle developers in their workAssists bundle developers in their work
•• Handles the dynamic of the service objectsHandles the dynamic of the service objects
Service Programming ModelService Programming Model –– R3 vs. R4R3 vs. R4
METAMETA--INF/INF/Manifest.mfManifest.mf
BundleBundle--Activator:Activator: com.osgicongress.Hellocom.osgicongress.Hello
METAMETA--INF/INF/Manifest.mfManifest.mf
ServiceService--Component: OSGIComponent: OSGI--INF/INF/activator.xmlactivator.xml
OSGIOSGI--INF/INF/activator.xmlactivator.xml
<?xml version ="1.0" encoding="UTF<?xml version ="1.0" encoding="UTF--8"?>8"?>
<component name="<component name="example.Helloexample.Hello">">
<implementation class="<implementation class="com.osgicongress.Hellocom.osgicongress.Hello"/>"/>
<reference name="LOG"<reference name="LOG"
interface="interface="org.osgi.service.log.LogServiceorg.osgi.service.log.LogService"/>"/>
</component></component>
com.osgicongress.Hello.javacom.osgicongress.Hello.java
public class Hellopublic class Hello
{{
protected voidprotected void activate(ComponentContextactivate(ComponentContext cc)cc)
{{
LogServiceLogService log = (log = (LogService)cc.locateService("LOGLogService)cc.locateService("LOG");");
log.log(LogService.LOG_INFO,"Hellolog.log(LogService.LOG_INFO,"Hello OSGiOSGi Congress");Congress");
}}
}}
com.osgicongress.Hello.javacom.osgicongress.Hello.java
public class Hello implementspublic class Hello implements BundleActivatorBundleActivator
{{
public voidpublic void start(BundleContextstart(BundleContext bcbc))
{{
ServiceTrackerServiceTracker tracker = newtracker = new ServiceTracker(bcServiceTracker(bc,,
""org.osgi.service.log.LogServiceorg.osgi.service.log.LogService", null);", null);
tracker.opentracker.open();();
LogServiceLogService log = (log = (LogService)tracker.getServiceLogService)tracker.getService();();
if (log != null)if (log != null)
{{
log.log(LogService.LOG_INFO,"Hellolog.log(LogService.LOG_INFO,"Hello OSGiOSGi Congress");Congress");
}}
elseelse
{{
// ??? what to do here// ??? what to do here
}}
}}
public voidpublic void stop(BundleContextstop(BundleContext bcbc) {}) {}
}}
R3 Programming ModelR3 Programming Model R4 Programming ModelR4 Programming Model
Enhance Development of ApplicationsEnhance Development of Applications
•• Main AdvantagesMain Advantages
–– Better developer productivityBetter developer productivity
–– Less error prone for developersLess error prone for developers
–– Developers focus on business logicDevelopers focus on business logic
–– May reduce memory footprint (lazy activation)May reduce memory footprint (lazy activation)
•• Creation and activation of the component can be delayedCreation and activation of the component can be delayed
Help InterHelp Inter--Bundle CommunicationBundle Communication
•• Communication between bundles is essentialCommunication between bundles is essential
•• Almost, all bundles and applications must react on signalsAlmost, all bundles and applications must react on signals
•• Several designs may be used to implement suchSeveral designs may be used to implement such
communicationcommunication
–– Popular Java Event/Listener pattern (Java Bean Model)Popular Java Event/Listener pattern (Java Bean Model)
–– OSGiOSGi whiteboard approachwhiteboard approach
•• Open Issues:Open Issues:
–– Minimize proliferation of Event/Listener interfacesMinimize proliferation of Event/Listener interfaces
–– Is there a way to find and promote a generic mechanism?Is there a way to find and promote a generic mechanism?
Generic Event Mechanism With R4Generic Event Mechanism With R4
Event Admin ServiceEvent Admin Service
•• Based on PublishBased on Publish--Subscribe patternSubscribe pattern
•• Easy system monitoringEasy system monitoring
•• Core events: Framework/Service/Bundle/LogCore events: Framework/Service/Bundle/Log
•• Vehicle events: Power ManagementVehicle events: Power Management
•• Any event may be published through this simpleAny event may be published through this simple
and flexible APIand flexible API
Manage Power ChangesManage Power Changes
•• Systems must carefully manage power consumptionSystems must carefully manage power consumption
•• Power Information from user, application, or hardwarePower Information from user, application, or hardware
device must be collected to enable a better powerdevice must be collected to enable a better power
management decision and executionmanagement decision and execution
•• Applications must adjust their activitiesApplications must adjust their activities
•• Some hardware devices may have their own powerSome hardware devices may have their own power
managementmanagement
•• Open Issues:Open Issues:
–– How to organize and control the whole system to enable a betterHow to organize and control the whole system to enable a better
power decision and execution?power decision and execution?
–– No standardNo standard ²²modelmodel
Power Management Service in VehiclePower Management Service in Vehicle
SpecificationSpecification
Power Manager ServicePower Manager Service
•• Provides a common approach for managing theProvides a common approach for managing the
platform's energy consumptionplatform's energy consumption
–– Coordinates and consistently maintains the system andCoordinates and consistently maintains the system and
device power statesdevice power states
–– Defines the power states transitionsDefines the power states transitions
–– System and device power states notificationsSystem and device power states notifications
–– Policy free in order to adapt as efficient as possible thePolicy free in order to adapt as efficient as possible the
power strategypower strategy
Diagnose SystemDiagnose System
•• Need to perform diagnosticsNeed to perform diagnostics
–– Configure, monitor and verify the systemConfigure, monitor and verify the system
•• Diagnostician requirements are:Diagnostician requirements are:
–– Get device parametersGet device parameters
–– Change device parametersChange device parameters
–– Execute selfExecute self--teststests
–– Monitor device dataMonitor device data
•• Open Issues:Open Issues:
–– Is there a common approach for discovery andIs there a common approach for discovery and
invocation of diagnostic commandsinvocation of diagnostic commands
–– Standard approach is requiredStandard approach is required
Diagnostic Service in Vehicle SpecificationDiagnostic Service in Vehicle Specification
Diagnostic ServiceDiagnostic Service
•• Full description of diagnostic commands usingFull description of diagnostic commands using
Meta typing (e.g. XML file)Meta typing (e.g. XML file)
•• Easy to publish diagnostic commands for newlyEasy to publish diagnostic commands for newly
installed devicesinstalled devices
•• Local and remote invocationsLocal and remote invocations
ConclusionConclusion
•• R4 platform brings real added value in vehicleR4 platform brings real added value in vehicle
systemssystems
–– Core enhancementsCore enhancements
–– New vehicle servicesNew vehicle services
•• R4 solves significant vehicle platform use casesR4 solves significant vehicle platform use cases
•• TLA is an excellent platform for using R4TLA is an excellent platform for using R4
Specifications in the next coming yearsSpecifications in the next coming years
SAN DIEGO Is Our Reference ApplicationSAN DIEGO Is Our Reference Application
•• Visit our booth !Visit our booth !
Questions?Questions?
Miguel LopezMiguel Lopez
Software ArchitectSoftware Architect
Siemens VDO AutomotiveSiemens VDO Automotive
SophiaSophia--AntipolisAntipolis, France, France
mailto:mailto: miguel.lopez@siemens.commiguel.lopez@siemens.com
+33 (0) 492 381 151+33 (0) 492 381 151

Contenu connexe

Tendances

Pexip Infinity Fusion for Skype for Business
Pexip Infinity Fusion for Skype for BusinessPexip Infinity Fusion for Skype for Business
Pexip Infinity Fusion for Skype for BusinessGraham Walsh
 
Mautilus - introduction of the company
Mautilus - introduction of the companyMautilus - introduction of the company
Mautilus - introduction of the companyMautilus
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsRogue Wave Software
 
Summit 16: ARM Mini-Summit - OpenDataPlane Monarch Release - Linaro
Summit 16: ARM Mini-Summit -   OpenDataPlane Monarch Release - LinaroSummit 16: ARM Mini-Summit -   OpenDataPlane Monarch Release - Linaro
Summit 16: ARM Mini-Summit - OpenDataPlane Monarch Release - LinaroOPNFV
 
OSGi For Eclipse Developers
OSGi For Eclipse DevelopersOSGi For Eclipse Developers
OSGi For Eclipse DevelopersChris Aniszczyk
 
apidays LIVE Australia 2020 - Multigrain services: micro vs. mini vs. mac by ...
apidays LIVE Australia 2020 - Multigrain services: micro vs. mini vs. mac by ...apidays LIVE Australia 2020 - Multigrain services: micro vs. mini vs. mac by ...
apidays LIVE Australia 2020 - Multigrain services: micro vs. mini vs. mac by ...apidays
 
Pexip presentation
Pexip presentationPexip presentation
Pexip presentationTed Wentzel
 
Velocity-EHF for Android
Velocity-EHF for AndroidVelocity-EHF for Android
Velocity-EHF for Androidmichaeljfawcett
 
Pexip Infinity 13 adds more than 20 new features and enhancements
Pexip Infinity 13 adds more than 20 new features and enhancementsPexip Infinity 13 adds more than 20 new features and enhancements
Pexip Infinity 13 adds more than 20 new features and enhancementsAnders Løkke
 

Tendances (14)

Pexip architecture
Pexip architecturePexip architecture
Pexip architecture
 
Pexip Infinity Fusion for Skype for Business
Pexip Infinity Fusion for Skype for BusinessPexip Infinity Fusion for Skype for Business
Pexip Infinity Fusion for Skype for Business
 
Mautilus - introduction of the company
Mautilus - introduction of the companyMautilus - introduction of the company
Mautilus - introduction of the company
 
resume
resumeresume
resume
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC apps
 
Kevin@Boeing
Kevin@BoeingKevin@Boeing
Kevin@Boeing
 
SIP Conferencing Reloaded
SIP Conferencing ReloadedSIP Conferencing Reloaded
SIP Conferencing Reloaded
 
Summit 16: ARM Mini-Summit - OpenDataPlane Monarch Release - Linaro
Summit 16: ARM Mini-Summit -   OpenDataPlane Monarch Release - LinaroSummit 16: ARM Mini-Summit -   OpenDataPlane Monarch Release - Linaro
Summit 16: ARM Mini-Summit - OpenDataPlane Monarch Release - Linaro
 
OSGi For Eclipse Developers
OSGi For Eclipse DevelopersOSGi For Eclipse Developers
OSGi For Eclipse Developers
 
Blink: voice is not enough
Blink: voice is not enoughBlink: voice is not enough
Blink: voice is not enough
 
apidays LIVE Australia 2020 - Multigrain services: micro vs. mini vs. mac by ...
apidays LIVE Australia 2020 - Multigrain services: micro vs. mini vs. mac by ...apidays LIVE Australia 2020 - Multigrain services: micro vs. mini vs. mac by ...
apidays LIVE Australia 2020 - Multigrain services: micro vs. mini vs. mac by ...
 
Pexip presentation
Pexip presentationPexip presentation
Pexip presentation
 
Velocity-EHF for Android
Velocity-EHF for AndroidVelocity-EHF for Android
Velocity-EHF for Android
 
Pexip Infinity 13 adds more than 20 new features and enhancements
Pexip Infinity 13 adds more than 20 new features and enhancementsPexip Infinity 13 adds more than 20 new features and enhancements
Pexip Infinity 13 adds more than 20 new features and enhancements
 

En vedette

Oracle Embedded Connected Vehicle
Oracle Embedded Connected VehicleOracle Embedded Connected Vehicle
Oracle Embedded Connected VehicleSteven Cull
 
moloy roy tool technology presentation
moloy roy   tool technology presentationmoloy roy   tool technology presentation
moloy roy tool technology presentationAkash Maurya
 
Aerodynamic drag reduction by Vortex Generators
Aerodynamic drag reduction by Vortex GeneratorsAerodynamic drag reduction by Vortex Generators
Aerodynamic drag reduction by Vortex GeneratorsAbhijith C
 
Advances in cutting tool technology
Advances in cutting tool technologyAdvances in cutting tool technology
Advances in cutting tool technologyNandu Sonmankar
 
Water jet cutting technology
Water jet cutting technologyWater jet cutting technology
Water jet cutting technologyAnkit Pal
 
Rapid prototyping seminar
Rapid prototyping seminarRapid prototyping seminar
Rapid prototyping seminaravwhysoserious
 
Computer Integrated Manufacturing
Computer Integrated Manufacturing  Computer Integrated Manufacturing
Computer Integrated Manufacturing suraj_21
 
Rapid Prototyping and its Applications
Rapid Prototyping and its ApplicationsRapid Prototyping and its Applications
Rapid Prototyping and its Applicationsmalikusman
 
TYPES OF RAPID PROTOTYPING - ADDITIVE PROCESS
TYPES OF RAPID PROTOTYPING - ADDITIVE PROCESSTYPES OF RAPID PROTOTYPING - ADDITIVE PROCESS
TYPES OF RAPID PROTOTYPING - ADDITIVE PROCESSNurhuda Hayati
 

En vedette (13)

Oracle Embedded Connected Vehicle
Oracle Embedded Connected VehicleOracle Embedded Connected Vehicle
Oracle Embedded Connected Vehicle
 
moloy roy tool technology presentation
moloy roy   tool technology presentationmoloy roy   tool technology presentation
moloy roy tool technology presentation
 
Aerodynamic drag reduction by Vortex Generators
Aerodynamic drag reduction by Vortex GeneratorsAerodynamic drag reduction by Vortex Generators
Aerodynamic drag reduction by Vortex Generators
 
Geneva conveyor
Geneva conveyorGeneva conveyor
Geneva conveyor
 
Drag reduction using Aerospike
Drag reduction using AerospikeDrag reduction using Aerospike
Drag reduction using Aerospike
 
Advanced cutting tools
Advanced cutting toolsAdvanced cutting tools
Advanced cutting tools
 
Advances in cutting tool technology
Advances in cutting tool technologyAdvances in cutting tool technology
Advances in cutting tool technology
 
Waterjet Cutting
Waterjet CuttingWaterjet Cutting
Waterjet Cutting
 
Water jet cutting technology
Water jet cutting technologyWater jet cutting technology
Water jet cutting technology
 
Rapid prototyping seminar
Rapid prototyping seminarRapid prototyping seminar
Rapid prototyping seminar
 
Computer Integrated Manufacturing
Computer Integrated Manufacturing  Computer Integrated Manufacturing
Computer Integrated Manufacturing
 
Rapid Prototyping and its Applications
Rapid Prototyping and its ApplicationsRapid Prototyping and its Applications
Rapid Prototyping and its Applications
 
TYPES OF RAPID PROTOTYPING - ADDITIVE PROCESS
TYPES OF RAPID PROTOTYPING - ADDITIVE PROCESSTYPES OF RAPID PROTOTYPING - ADDITIVE PROCESS
TYPES OF RAPID PROTOTYPING - ADDITIVE PROCESS
 

Similaire à Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, Software Architect, Siemens VDO Automotive

Creating a Service Platform for .NET - Clément Escoffier, University of Grenoble
Creating a Service Platform for .NET - Clément Escoffier, University of GrenobleCreating a Service Platform for .NET - Clément Escoffier, University of Grenoble
Creating a Service Platform for .NET - Clément Escoffier, University of Grenoblemfrancis
 
How we scale up our architecture and organization at Dailymotion
How we scale up our architecture and organization at DailymotionHow we scale up our architecture and organization at Dailymotion
How we scale up our architecture and organization at DailymotionStanislas Chollet
 
2005 OSGi Alliance Status - John Barr, Ph.D., Past President, OSGi Alliance; ...
2005 OSGi Alliance Status - John Barr, Ph.D., Past President, OSGi Alliance; ...2005 OSGi Alliance Status - John Barr, Ph.D., Past President, OSGi Alliance; ...
2005 OSGi Alliance Status - John Barr, Ph.D., Past President, OSGi Alliance; ...mfrancis
 
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...mfrancis
 
API Description Languages: Which Is The Right One For Me?
 API Description Languages: Which Is The Right One For Me?  API Description Languages: Which Is The Right One For Me?
API Description Languages: Which Is The Right One For Me? ProgrammableWeb
 
LIVO Presentation by ENO
LIVO Presentation by ENOLIVO Presentation by ENO
LIVO Presentation by ENOTamer Taşdelen
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description LanguagesAkana
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description LanguagesAkana
 
Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot...
Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot...Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot...
Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot...mfrancis
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?Akana
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?Akana
 
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...GRUC
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodeJohn Hawkins
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source ContributionsNeev Technologies
 
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMIntroducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMmfrancis
 
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBMEclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBMmfrancis
 

Similaire à Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, Software Architect, Siemens VDO Automotive (20)

Livo presentation
Livo presentationLivo presentation
Livo presentation
 
Creating a Service Platform for .NET - Clément Escoffier, University of Grenoble
Creating a Service Platform for .NET - Clément Escoffier, University of GrenobleCreating a Service Platform for .NET - Clément Escoffier, University of Grenoble
Creating a Service Platform for .NET - Clément Escoffier, University of Grenoble
 
How we scale up our architecture and organization at Dailymotion
How we scale up our architecture and organization at DailymotionHow we scale up our architecture and organization at Dailymotion
How we scale up our architecture and organization at Dailymotion
 
2005 OSGi Alliance Status - John Barr, Ph.D., Past President, OSGi Alliance; ...
2005 OSGi Alliance Status - John Barr, Ph.D., Past President, OSGi Alliance; ...2005 OSGi Alliance Status - John Barr, Ph.D., Past President, OSGi Alliance; ...
2005 OSGi Alliance Status - John Barr, Ph.D., Past President, OSGi Alliance; ...
 
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
The Business Case for the Mobile Ecosystem - Jon Bostrom, Co-Chair OSGi Allia...
 
API Description Languages: Which Is The Right One For Me?
 API Description Languages: Which Is The Right One For Me?  API Description Languages: Which Is The Right One For Me?
API Description Languages: Which Is The Right One For Me?
 
LIVO Presentation by ENO
LIVO Presentation by ENOLIVO Presentation by ENO
LIVO Presentation by ENO
 
RSI GmbH - Intro
RSI GmbH - IntroRSI GmbH - Intro
RSI GmbH - Intro
 
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
 
Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot...
Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot...Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot...
Infusion of OSGi Technology into a J2EE Application Server - Mikaël Desertot...
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and Urbancode
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
 
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMIntroducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
 
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBMEclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
 

Plus de mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

Plus de mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Dernier

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Dernier (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Using OSGi R4 Service Platform in Vehicle Embedded Systems - Miguel Lopez, Software Architect, Siemens VDO Automotive

  • 1.
  • 2. Using R4 in Vehicle Embedded Systems Siemens VDO Automotive Miguel Lopez, Software ArchitectMiguel Lopez, Software Architect
  • 3. AgendaAgenda •• SubjectSubject –– why we decided to use R4 in vehicle systemwhy we decided to use R4 in vehicle system •• IntroductionIntroduction –– Release 4 is a major stepRelease 4 is a major step •• How to use R4 in vehicle embedded systems?How to use R4 in vehicle embedded systems? –– Illustrated with concrete use casesIllustrated with concrete use cases •• ConclusionConclusion
  • 4. Who Are We?Who Are We? •• Siemens VDO &Siemens VDO & OSGiOSGi AllianceAlliance –– Siemens VDO is involved inSiemens VDO is involved in OSGiOSGi Alliance since 2001Alliance since 2001 •• is the Siemens VDO Platformis the Siemens VDO Platform •• multimedia system based onmultimedia system based on OSGiOSGi Service PlatformService Platform •• used in BMW 1, 3, 5 and 6 Series, X3used in BMW 1, 3, 5 and 6 Series, X3 •• used in current developments for other Car makersused in current developments for other Car makers
  • 5. R4 Is a Major ReleaseR4 Is a Major Release •• Important milestones achieved inImportant milestones achieved in OSGiOSGi AllianceAlliance –– R4 Core (including Compendium) SpecificationsR4 Core (including Compendium) Specifications -- releasedreleased –– R4 Vehicle and Mobile SpecificationsR4 Vehicle and Mobile Specifications –– soonsoon •• What are the changes/improvements?What are the changes/improvements? –– Comparison between R3 and R4: two metricsComparison between R3 and R4: two metrics •• Specification (number of pages)Specification (number of pages) •• API Changes (number of methods)API Changes (number of methods)
  • 6. R4 Has Been Significantly IncreasedR4 Has Been Significantly Increased •• Specification DocumentsSpecification Documents (number of pages)(number of pages) –– twice as many pagestwice as many pages in R4 than R3in R4 than R3 •• API Changes (number ofAPI Changes (number of public methods)public methods) –– twice as many publictwice as many public methods in R4 than R3methods in R4 than R3 104 288 450 900 0 500 1000 R1 R2 R3 R4 151 353 661 1432 0 500 1000 1500
  • 7. R4 Is Adapted and SuitableR4 Is Adapted and Suitable •• Is it suitable for vehicle system?Is it suitable for vehicle system? –– OSGiOSGi Service Platform originally targeted "smallService Platform originally targeted "small devices"devices" •• Now, R4 is applicable in many architecturesNow, R4 is applicable in many architectures –– add powerful new modularity capabilities to Javaadd powerful new modularity capabilities to Java –– improved encapsulation of software unitsimproved encapsulation of software units –– R4 plans to address a large device rangeR4 plans to address a large device range •• However, R4 is well adapted and suitable forHowever, R4 is well adapted and suitable for vehicle systemsvehicle systems –– Lets have a look at the use casesLets have a look at the use cases
  • 8. Use CasesUse Cases •• Gradually Integrate new featuresGradually Integrate new features •• Localize applicationsLocalize applications •• Enhance the development of applicationsEnhance the development of applications •• Help interHelp inter--bundle communicationbundle communication •• Manage power changesManage power changes •• Diagnose the systemDiagnose the system
  • 9. Gradually Integrate New FeaturesGradually Integrate New Features •• Systems are rapidly becoming complex as theirSystems are rapidly becoming complex as their capacities increasecapacities increase •• Critical step in the software process is integrationCritical step in the software process is integration –– integrate all modules/components/features within aintegrate all modules/components/features within a single platform and a given productsingle platform and a given product –– handle complex dependencieshandle complex dependencies •• Even worse... some are conflictingEven worse... some are conflicting –– Let look at a concrete exampleLet look at a concrete example
  • 10. Gradually Integrate New FeaturesGradually Integrate New Features •• No way with R3. What about R4?No way with R3. What about R4? Navigation App 1.0 Foundation Library 1.0 version 1.0 OSGi Service Platform Integration Area Phone App 1.0 Foundation Library 2.0 version 2.0 Package Conflicts Phone Team Navigation Team Core Team
  • 11. Gradually Integrate New Features With R4Gradually Integrate New Features With R4 Core Framework ModularityCore Framework Modularity •• Manages multi versions of the same packageManages multi versions of the same package •• Both modules can then coexistBoth modules can then coexist •• AdvantagesAdvantages –– Integrators have more flexibilityIntegrators have more flexibility –– Developers team can defer new baseline integrationDevelopers team can defer new baseline integration
  • 12. Localize ApplicationsLocalize Applications •• What is localization?What is localization? –– adapting an application to various languages, culturesadapting an application to various languages, cultures and environmentsand environments •• textual elements are not hard codedtextual elements are not hard coded •• support for new languages without recompilationsupport for new languages without recompilation •• culturally dependent format for dates, currencies ...culturally dependent format for dates, currencies ... •• Java SE Platform already provides such featuresJava SE Platform already provides such features –– java.util.Localejava.util.Locale,, java.util.ResouceBundlejava.util.ResouceBundle, etc ..., etc ... •• Java SE Localization must be adapted toJava SE Localization must be adapted to OSGiOSGi –– Both use Java classBoth use Java class--loading capabilities for searchingloading capabilities for searching resources, classesresources, classes
  • 13. Localize Applications With R4Localize Applications With R4 Fragment Bundle (Modularity Layer)Fragment Bundle (Modularity Layer) •• Fits Java SE Localization conceptsFits Java SE Localization concepts •• Ease to understand for Java DevelopersEase to understand for Java Developers •• Very FlexibleVery Flexible –– New languages may be added after deploymentNew languages may be added after deployment –– Good migration of legacy Java ApplicationsGood migration of legacy Java Applications
  • 14. Enhance Development of ApplicationsEnhance Development of Applications •• OSGiOSGi technology defines a powerful servicetechnology defines a powerful service oriented architecture ... Howeveroriented architecture ... However –– Number of services grows quicklyNumber of services grows quickly •• Complex interComplex inter--service dependenciesservice dependencies –– Due to dynamic nature ofDue to dynamic nature of OSGiOSGi environmentenvironment –– Deal with specificDeal with specific OSGiOSGi APIsAPIs •• Developer may not prepare to deal with this modelDeveloper may not prepare to deal with this model •• It seems reasonable to solve in a single place allIt seems reasonable to solve in a single place all these issuesthese issues
  • 15. Service Programming Model With R3Service Programming Model With R3 METAMETA--INF/INF/Manifest.mfManifest.mf BundleBundle--Activator:Activator: com.osgicongress.Hellocom.osgicongress.Hello com.osgicongress.Hello.javacom.osgicongress.Hello.java public class Hello implementspublic class Hello implements BundleActivatorBundleActivator {{ public voidpublic void start(BundleContextstart(BundleContext bcbc)) {{ ServiceTrackerServiceTracker tracker = newtracker = new ServiceTracker(bcServiceTracker(bc,, ""org.osgi.service.log.LogServiceorg.osgi.service.log.LogService", null);", null); tracker.opentracker.open();(); LogServiceLogService log = (log = (LogService)tracker.getServiceLogService)tracker.getService();(); if (log != null)if (log != null) {{ log.log(LogService.LOG_INFO,"Hellolog.log(LogService.LOG_INFO,"Hello OSGiOSGi Congress");Congress"); }} elseelse {{ // what to do here ...// what to do here ... }} }} public voidpublic void stop(BundleContextstop(BundleContext bcbc) {}) {} }} some extra tests ... some uncomfortable situations! R3 requires to keep track of services
  • 16. Service Programming Model With R4Service Programming Model With R4 Declarative ServicesDeclarative Services •• Simplifies the service oriented programming modelSimplifies the service oriented programming model (XML description)(XML description) •• Assists bundle developers in their workAssists bundle developers in their work •• Handles the dynamic of the service objectsHandles the dynamic of the service objects
  • 17. Service Programming ModelService Programming Model –– R3 vs. R4R3 vs. R4 METAMETA--INF/INF/Manifest.mfManifest.mf BundleBundle--Activator:Activator: com.osgicongress.Hellocom.osgicongress.Hello METAMETA--INF/INF/Manifest.mfManifest.mf ServiceService--Component: OSGIComponent: OSGI--INF/INF/activator.xmlactivator.xml OSGIOSGI--INF/INF/activator.xmlactivator.xml <?xml version ="1.0" encoding="UTF<?xml version ="1.0" encoding="UTF--8"?>8"?> <component name="<component name="example.Helloexample.Hello">"> <implementation class="<implementation class="com.osgicongress.Hellocom.osgicongress.Hello"/>"/> <reference name="LOG"<reference name="LOG" interface="interface="org.osgi.service.log.LogServiceorg.osgi.service.log.LogService"/>"/> </component></component> com.osgicongress.Hello.javacom.osgicongress.Hello.java public class Hellopublic class Hello {{ protected voidprotected void activate(ComponentContextactivate(ComponentContext cc)cc) {{ LogServiceLogService log = (log = (LogService)cc.locateService("LOGLogService)cc.locateService("LOG");"); log.log(LogService.LOG_INFO,"Hellolog.log(LogService.LOG_INFO,"Hello OSGiOSGi Congress");Congress"); }} }} com.osgicongress.Hello.javacom.osgicongress.Hello.java public class Hello implementspublic class Hello implements BundleActivatorBundleActivator {{ public voidpublic void start(BundleContextstart(BundleContext bcbc)) {{ ServiceTrackerServiceTracker tracker = newtracker = new ServiceTracker(bcServiceTracker(bc,, ""org.osgi.service.log.LogServiceorg.osgi.service.log.LogService", null);", null); tracker.opentracker.open();(); LogServiceLogService log = (log = (LogService)tracker.getServiceLogService)tracker.getService();(); if (log != null)if (log != null) {{ log.log(LogService.LOG_INFO,"Hellolog.log(LogService.LOG_INFO,"Hello OSGiOSGi Congress");Congress"); }} elseelse {{ // ??? what to do here// ??? what to do here }} }} public voidpublic void stop(BundleContextstop(BundleContext bcbc) {}) {} }} R3 Programming ModelR3 Programming Model R4 Programming ModelR4 Programming Model
  • 18. Enhance Development of ApplicationsEnhance Development of Applications •• Main AdvantagesMain Advantages –– Better developer productivityBetter developer productivity –– Less error prone for developersLess error prone for developers –– Developers focus on business logicDevelopers focus on business logic –– May reduce memory footprint (lazy activation)May reduce memory footprint (lazy activation) •• Creation and activation of the component can be delayedCreation and activation of the component can be delayed
  • 19. Help InterHelp Inter--Bundle CommunicationBundle Communication •• Communication between bundles is essentialCommunication between bundles is essential •• Almost, all bundles and applications must react on signalsAlmost, all bundles and applications must react on signals •• Several designs may be used to implement suchSeveral designs may be used to implement such communicationcommunication –– Popular Java Event/Listener pattern (Java Bean Model)Popular Java Event/Listener pattern (Java Bean Model) –– OSGiOSGi whiteboard approachwhiteboard approach •• Open Issues:Open Issues: –– Minimize proliferation of Event/Listener interfacesMinimize proliferation of Event/Listener interfaces –– Is there a way to find and promote a generic mechanism?Is there a way to find and promote a generic mechanism?
  • 20. Generic Event Mechanism With R4Generic Event Mechanism With R4 Event Admin ServiceEvent Admin Service •• Based on PublishBased on Publish--Subscribe patternSubscribe pattern •• Easy system monitoringEasy system monitoring •• Core events: Framework/Service/Bundle/LogCore events: Framework/Service/Bundle/Log •• Vehicle events: Power ManagementVehicle events: Power Management •• Any event may be published through this simpleAny event may be published through this simple and flexible APIand flexible API
  • 21. Manage Power ChangesManage Power Changes •• Systems must carefully manage power consumptionSystems must carefully manage power consumption •• Power Information from user, application, or hardwarePower Information from user, application, or hardware device must be collected to enable a better powerdevice must be collected to enable a better power management decision and executionmanagement decision and execution •• Applications must adjust their activitiesApplications must adjust their activities •• Some hardware devices may have their own powerSome hardware devices may have their own power managementmanagement •• Open Issues:Open Issues: –– How to organize and control the whole system to enable a betterHow to organize and control the whole system to enable a better power decision and execution?power decision and execution? –– No standardNo standard ²²modelmodel
  • 22. Power Management Service in VehiclePower Management Service in Vehicle SpecificationSpecification Power Manager ServicePower Manager Service •• Provides a common approach for managing theProvides a common approach for managing the platform's energy consumptionplatform's energy consumption –– Coordinates and consistently maintains the system andCoordinates and consistently maintains the system and device power statesdevice power states –– Defines the power states transitionsDefines the power states transitions –– System and device power states notificationsSystem and device power states notifications –– Policy free in order to adapt as efficient as possible thePolicy free in order to adapt as efficient as possible the power strategypower strategy
  • 23. Diagnose SystemDiagnose System •• Need to perform diagnosticsNeed to perform diagnostics –– Configure, monitor and verify the systemConfigure, monitor and verify the system •• Diagnostician requirements are:Diagnostician requirements are: –– Get device parametersGet device parameters –– Change device parametersChange device parameters –– Execute selfExecute self--teststests –– Monitor device dataMonitor device data •• Open Issues:Open Issues: –– Is there a common approach for discovery andIs there a common approach for discovery and invocation of diagnostic commandsinvocation of diagnostic commands –– Standard approach is requiredStandard approach is required
  • 24. Diagnostic Service in Vehicle SpecificationDiagnostic Service in Vehicle Specification Diagnostic ServiceDiagnostic Service •• Full description of diagnostic commands usingFull description of diagnostic commands using Meta typing (e.g. XML file)Meta typing (e.g. XML file) •• Easy to publish diagnostic commands for newlyEasy to publish diagnostic commands for newly installed devicesinstalled devices •• Local and remote invocationsLocal and remote invocations
  • 25. ConclusionConclusion •• R4 platform brings real added value in vehicleR4 platform brings real added value in vehicle systemssystems –– Core enhancementsCore enhancements –– New vehicle servicesNew vehicle services •• R4 solves significant vehicle platform use casesR4 solves significant vehicle platform use cases •• TLA is an excellent platform for using R4TLA is an excellent platform for using R4 Specifications in the next coming yearsSpecifications in the next coming years
  • 26. SAN DIEGO Is Our Reference ApplicationSAN DIEGO Is Our Reference Application •• Visit our booth !Visit our booth !
  • 27. Questions?Questions? Miguel LopezMiguel Lopez Software ArchitectSoftware Architect Siemens VDO AutomotiveSiemens VDO Automotive SophiaSophia--AntipolisAntipolis, France, France mailto:mailto: miguel.lopez@siemens.commiguel.lopez@siemens.com +33 (0) 492 381 151+33 (0) 492 381 151