SlideShare une entreprise Scribd logo
1  sur  20
EclipseCon Europe 2012

                        Challenges in the Automotive Industry:
                   EMF Model Repositories - Scalability vs Performance
                                          Or
                               The “Big Model” Problem




    Christof Hammel                                                                                                                                 Andreas Rytina


      Cross Divisional Group - Software, Methods and Tools
1     CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
      distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

    Outline
    Part I
     Automotive

         Domain

         Software Development

         Software Architecture & Use Cases

         Development Environment

     The “Big Model” Problem



    Part II
     Model

         Structure

         Technology

         CDO

         Scalability & Performance

     Conclusion




    Cross Divisional Group - Software, Methods and Tools
2   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
    disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

    Automotive Domain
                                                                                                                              Case Study: Domain & Products:
                                                                                                                              Powertrain Engine Control Units




                                                                                                                            Our Customer (OEM) Products:

5500 employees worldwide

400 projects with all OEMs                                                                                       Passenger Car                     Heavy Duty


20 Mio ECUs / year
                                                                                                                   Off Highway
    Cross Divisional Group - Software, Methods and Tools
3   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
    disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

    Our Embedded Product-Software
                                                      500.000 LOC



                                                      ~500Mio LOC (> than 1st Space-Shuttle)

           Product-Line development with high variability
           1.500 variation points (pre compile) / “Meta” project

           Automotive SW Component-Model (e.g. BlueArX, Autosar)


                                            .xml   .c                      .xml   .c


           Interface consistency mainly determined by XML Component-Model data
           Interfaces by Name-Refs (no class-path)
                                  
           ~ 1.000 components (= PlugIn) / project
    Cross Divisional Group - Software, Methods and Tools
4   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
    disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

     Desktop Software Domain
         PlugIn Development                                                                                                                     Project Integration

     (ww) Distributed teams
      develop independent

                                                                                                Integration


       A                                B                                 C                                                                 A         B               C



    Target                         Target                            Target                                                                         Target




       PlugIn-Teams use same target
     Cross Divisional Group - Software, Methods and Tools
5    CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
     disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

    Automotive Software Domain
    Component Development                                                                                                                  Project Integration


               2.0.0
                                   C                                                                                                                2.0.0
        1.0.0                C

                                                                                                                                                      C




                2.0.0                                                           Component Selection
                                   B
                             B                                                                                                               B               A
         1.0.0

                                                                                                                                            2.0.0           1.0.0
                2.0.0
                                   A
        1.0.0                A



    Cross Divisional Group - Software, Methods and Tools
6   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
    disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

    Our Software Architecture (Powertrain)




    Cross Divisional Group - Software, Methods and Tools
7   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
    disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

    Our Use Cases
    Use-Case 1: Validation
     Check interface consistency across complete project: < 1min

          ~30 Interfaces
                      ...                 ...                                            ...
                                                             ...
                                                1.000 components
                                                      ( PlugIns)
           30.000 Traverse, Search, Check & Logging operations < 1min
           Fast data cache
           Complete project data in memory as Object-Model (Ecore)



    Use-Case 2: Diff/Merge
     Updates require comparison to Reference/Predecessor-Proj.

     Multiple projects loaded in IDE




    Cross Divisional Group - Software, Methods and Tools
8   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
    disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

    Our Development Environment
                                                     IDE
                                                                 Applications / Use-Cases:
                                                                 • View, Navigate, Search, Edit
                                                                 • Build (Processing)
                                                                 • Validation
                                                                 • Diff/Merge

                                                                 BDOM-Model (EMF based)



                                                                 Loader / Serializer




                                                     Workspace




                                                     Version-Control, SCM

                                                                        File-Server                                     Meta-DB


                                                                                                                 Comp-Baselines


    Cross Divisional Group - Software, Methods and Tools
9   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
    disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

     Our BDOM-Model
            Based on EMF
            A few numbers:
                    900 entities (meta classes)
                    2.800 attributes and
                    2.700 references
            ~ 800MB heap consumption / project
            Windows XP (32Bit):
               Max. 4GB address space

               2GB User-Space

               1GB for other tools (Outlook,...)

               1GB heap size remaining for: Java classes, EMF domain model

               Only 1 medium size project can be loaded into IDE

               Big or multiple projects exceeds 32Bit Java systems




            The Big Model Problem !!!

     Cross Divisional Group - Software, Methods and Tools
10   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
     disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

     Model Structure – Variant Management
                                                                                                                               extends
                                                                                      PL<CLASS>                                                        P<CLASS>


                                                                                implements
                           PLIConditional                                                                                                                   instance of
                                                                                                instance of
                +sysCond: PLExpression
                                                                                                                                                             Product Models
                                                                                                                                                                          a' : P..
                                                                                          Product Line Model
    The BlueArX Meta Model is
     seperated into a Product Line and                                                                a : PL..                                                b' : P..
     a Product specific part
                                                                                          b : PL..                c : PL..                                                              d' : P..
    Each meta class which is
                                                                                                                                              System
     configurable in the product line
                                                                                                                                             Condition                   a'' : P..
     has a +sysCond attribute                                                                                          d : PL..             configuration

                                                                                                                                                              b'' : P..              c'' : P..

     Cross Divisional Group - Software, Methods and Tools
11   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
     disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

         Model Structure – Name Based References

                                   <source>                                      <target>NameRef                                               <target>
                                                               *          1                                               1         *

           Handle incomplete data structures
           Easy loading, adding and deleting
           Deleting data structures from model without damaging the model consistency

     Conditional Name Based References

                                             Cond<target>NameRef
 <source>                                                                                                         <target>NameRef                              <target>
                                               +sysCond: PLExpression
                                   1                                                           *           1                                           *   1

           Makes it possible to relocate complete sub trees in the architecture tree



         Cross Divisional Group - Software, Methods and Tools
12       CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
         distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

     Premises and Technology Selection
            Large number of applications have been implemented on top of BDOM
            API must be stable (protection of investiment, quality)

            Premise: Solution must not disrupt existing applications

            Technology Selection:
                    Teneo:
                     Relational DB. Not selected because SW-Engineering data is a graph model
                    Mongo/EMF
                    EMFStore
                    CDO :
                     At the time of evaluation, CDO was most visible in the Eclipse community.




     Cross Divisional Group - Software, Methods and Tools
13   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
     disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

     Solution with CDO – the components
                                                                                    Net4j
                                                                                 JVMConnector


                                                                       Client                      Server


                                                                     TxPool                   RafStore
                                                                 ReadOnlyView                 +Accessor



      *.arxml
      *pavast.xml



     Builder
                                                                     Loader                                                              Random
                                                                                                   BDOM
                                                                                                                                        Access File
                                                                                                   Cache
                                                                Processor

     Cross Divisional Group - Software, Methods and Tools
14   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
     distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

     Solution – write complete model to store
                                                                                               Net4j
                                                                                            JVMConnector


                                                                                Client                          Server


                                                                              TxPool                      RafStore
             *.arxml
             *pavast.xml                                                  ReadOnlyView                    +Accessor
             …


                         Builder                                        2. Directly fill random access file




                                                                            Loader                                                           Random
                                                                                                             Loader                         Access File
                                                                                                             Cache
                                                                        Processor

     Cross Divisional Group - Software, Methods and Tools
15   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
     disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

       Solution – query a model instance
                                                                                                     Net4j
                                                                                                  JVMConnector
     • View
     • Validation                                                                        Client                       Server
     • Editing
     • Processing
                                                                                        TxPool


                                                                        Existing API
                                                                                                                RafStore
                                                                                       ReadOnlyView             +Accessor




       *.arxml
       *pavast.xml
                                                                                          3. get raf pointer from index
                                                                                          4. load element from raf
                   Builder
                                                                                        Loader                                                 Random
                                                                                                                   Loader                     Access File
                                                                                                                   Cache
                                                                                       Processor

       Cross Divisional Group - Software, Methods and Tools
16     CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
       disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

       Solution – edit and save a model instance
                                                                                                     Net4j
     • View                                                                                       JVMConnector

     • Validation
                                                                                         Client                       Server
     • Editing                                                                                                                                10. generate raf pointer
                                                                                                                                              11. insert raf pointer at the index end
     • Processing                                                                                                                             12. write new & changed elements




                                                                        Existing API
                                                                                        TxPool                  RafStore
                                                                                       ReadOnlyView             +Accessor
                       6. serialize




 *.arxml
 *pavast.xml                                                                 3. get raf pointer from index
       Builder                                                               4. load element from raf

                                                                                       Loader                                                    Random
                                                                                                               Loader                           Access File
                                                                                                               Cache
                                                                              Processor

       Cross Divisional Group - Software, Methods and Tools
17     CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
       disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

     Reduce memory consumption
           The memory consumption can be reduced after the the model building step when
            the model is written to the database. But due to the cdo overhead the model
            building step consumes about 50% more memory.

           Building a big model… (vmargs: -Xmx3g -XX:MaxPermSize=256m)
                           …w/o CDO                                                                                  …w/ CDO
                                                                                                                                                   building   writing to store




     Cross Divisional Group - Software, Methods and Tools
18   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing,
     distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

      Don´t lose too much performance...
             This couldn„t be achived for very query intensive use cases, i.e. model validations,
              content assist,….

              Some measurements with EMF Validation Framework based constraints:
                              (64bit JVM, vmargs: -Xmx3g -XX:MaxPermSize=256m)

     Use-Case                                              w/o CDO                                                              w/ CDO
     BlueArX validation with                               Validation time: 2 min                                               Validation time: 12 min
     a small model                                                                                                              ~ factor 6 performance decrease
                                                           Heap-Peak: 450MB                                                     Heap-Peak: 742MB
     BlueArX validation with                               Validation time 1:30 min                                             Validation time: 23 min
     a medium size model                                                                                                        ~ factor 15 performance decrease
                                                           Heap-Peak: 1.1GB                                                     Heap-Peak: 2.2GB
     BlueArX validation with                               Validation time: 2 min                                               n.a.
     a big model
                                                           Heap-Peak: 1.9GB                                                     OutOfMemoryError with –Xmx3g       
                                                                                                                                (~ 4GB estimated)

      Cross Divisional Group - Software, Methods and Tools
19    CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
      disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
EclipseCon Europe 2012

     Conclusion
            Other Design Options:
               Manually Optimizing all queries

               Replace EMF by Memory-Mapped-Files

               3- or 2-tier architecture, using powerful servers for model queries

               High effort (at least 1-2 years)

            Developer‟s PC Infrastructure:
               32Bit are gradually going extinct

               64Bit/Win7 will be rolled-out at the time other design options would be

                implemented.
               No benefit in investing in a different tool architecture

            Efforts to be invested to improve speed performance:
               E.g. EMF Indexing

               Evaluate / Define standard solution for Automotive (e.g. Inc-Query)

               Coordination in the Eclipse Auto-IWG

     Cross Divisional Group - Software, Methods and Tools
20   CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any
     disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Contenu connexe

En vedette

ความขัดแย้งและความร่วมมือระหว่างประเทศ
ความขัดแย้งและความร่วมมือระหว่างประเทศความขัดแย้งและความร่วมมือระหว่างประเทศ
ความขัดแย้งและความร่วมมือระหว่างประเทศPattaratida Luangsupa
 
Oceanspray &quot;Straight from the Bog&quot; Campaign analysis
Oceanspray &quot;Straight from the Bog&quot; Campaign analysisOceanspray &quot;Straight from the Bog&quot; Campaign analysis
Oceanspray &quot;Straight from the Bog&quot; Campaign analysisnichoe10
 
собрание огэ 2014
собрание огэ 2014собрание огэ 2014
собрание огэ 2014killaruns
 
Experimental Applications of Mapping Services in Wireless Sensor Networks
Experimental Applications of Mapping Services in Wireless Sensor NetworksExperimental Applications of Mapping Services in Wireless Sensor Networks
Experimental Applications of Mapping Services in Wireless Sensor NetworksM H
 
Evoluzione della società umana
Evoluzione della società umana Evoluzione della società umana
Evoluzione della società umana Lorenzo Dodi
 
Klim Design Presentation
Klim Design PresentationKlim Design Presentation
Klim Design Presentationmarkmodder
 
Incubating, accelerating and financing london’s mobile
Incubating, accelerating and financing london’s mobileIncubating, accelerating and financing london’s mobile
Incubating, accelerating and financing london’s mobileJohn Spindler
 
Diseminare Curs "EURODIDAWEB - PEDAGOGICAL USE OF INTERNET AND MULTIMEDIA" Ro...
Diseminare Curs "EURODIDAWEB - PEDAGOGICAL USE OF INTERNET AND MULTIMEDIA" Ro...Diseminare Curs "EURODIDAWEB - PEDAGOGICAL USE OF INTERNET AND MULTIMEDIA" Ro...
Diseminare Curs "EURODIDAWEB - PEDAGOGICAL USE OF INTERNET AND MULTIMEDIA" Ro...Tamara Petrof
 
Volkan emre 106621009 msc_project_2011
Volkan emre 106621009 msc_project_2011Volkan emre 106621009 msc_project_2011
Volkan emre 106621009 msc_project_2011Volkan Emre
 
Leather Wallets & Accessories
Leather Wallets & AccessoriesLeather Wallets & Accessories
Leather Wallets & AccessoriesAvik Enterprises
 
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...M H
 
A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...
A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...
A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...Volkan Emre
 
An Overview of Information Extraction from Mobile Wireless Sensor Networks
An Overview of Information Extraction from Mobile Wireless Sensor NetworksAn Overview of Information Extraction from Mobile Wireless Sensor Networks
An Overview of Information Extraction from Mobile Wireless Sensor NetworksM H
 
Promotional Shirts, Caps & Jackets
 Promotional Shirts, Caps & Jackets Promotional Shirts, Caps & Jackets
Promotional Shirts, Caps & JacketsAvik Enterprises
 

En vedette (17)

ความขัดแย้งและความร่วมมือระหว่างประเทศ
ความขัดแย้งและความร่วมมือระหว่างประเทศความขัดแย้งและความร่วมมือระหว่างประเทศ
ความขัดแย้งและความร่วมมือระหว่างประเทศ
 
Oceanspray &quot;Straight from the Bog&quot; Campaign analysis
Oceanspray &quot;Straight from the Bog&quot; Campaign analysisOceanspray &quot;Straight from the Bog&quot; Campaign analysis
Oceanspray &quot;Straight from the Bog&quot; Campaign analysis
 
собрание огэ 2014
собрание огэ 2014собрание огэ 2014
собрание огэ 2014
 
Experimental Applications of Mapping Services in Wireless Sensor Networks
Experimental Applications of Mapping Services in Wireless Sensor NetworksExperimental Applications of Mapping Services in Wireless Sensor Networks
Experimental Applications of Mapping Services in Wireless Sensor Networks
 
Evoluzione della società umana
Evoluzione della società umana Evoluzione della società umana
Evoluzione della società umana
 
Klim Design Presentation
Klim Design PresentationKlim Design Presentation
Klim Design Presentation
 
Incubating, accelerating and financing london’s mobile
Incubating, accelerating and financing london’s mobileIncubating, accelerating and financing london’s mobile
Incubating, accelerating and financing london’s mobile
 
Diseminare Curs "EURODIDAWEB - PEDAGOGICAL USE OF INTERNET AND MULTIMEDIA" Ro...
Diseminare Curs "EURODIDAWEB - PEDAGOGICAL USE OF INTERNET AND MULTIMEDIA" Ro...Diseminare Curs "EURODIDAWEB - PEDAGOGICAL USE OF INTERNET AND MULTIMEDIA" Ro...
Diseminare Curs "EURODIDAWEB - PEDAGOGICAL USE OF INTERNET AND MULTIMEDIA" Ro...
 
Volkan emre 106621009 msc_project_2011
Volkan emre 106621009 msc_project_2011Volkan emre 106621009 msc_project_2011
Volkan emre 106621009 msc_project_2011
 
Leather Wallets & Accessories
Leather Wallets & AccessoriesLeather Wallets & Accessories
Leather Wallets & Accessories
 
Kayap,
Kayap, Kayap,
Kayap,
 
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
 
Recount rina
Recount rinaRecount rina
Recount rina
 
A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...
A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...
A comparative analysis of eu an us gsp policies in egypt volkan emre [compati...
 
An Overview of Information Extraction from Mobile Wireless Sensor Networks
An Overview of Information Extraction from Mobile Wireless Sensor NetworksAn Overview of Information Extraction from Mobile Wireless Sensor Networks
An Overview of Information Extraction from Mobile Wireless Sensor Networks
 
Promotional Shirts, Caps & Jackets
 Promotional Shirts, Caps & Jackets Promotional Shirts, Caps & Jackets
Promotional Shirts, Caps & Jackets
 
Presentation 2
Presentation 2Presentation 2
Presentation 2
 

Similaire à EclipseCon Europe 2012 - Big Models

Daniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM ConnectionsDaniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM ConnectionsLetsConnect
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB
 
Model-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical SoftwareModel-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical Softwaregjuljo
 
[SiriusCon 2020] Pushing Limits in Automotive Model Visualization at BOSCH - ...
[SiriusCon 2020] Pushing Limits in Automotive Model Visualization at BOSCH - ...[SiriusCon 2020] Pushing Limits in Automotive Model Visualization at BOSCH - ...
[SiriusCon 2020] Pushing Limits in Automotive Model Visualization at BOSCH - ...Obeo
 
Max flash based code quality is there a canary in your coal mine-
Max  flash based code quality  is there a canary in your coal mine-Max  flash based code quality  is there a canary in your coal mine-
Max flash based code quality is there a canary in your coal mine-Xavier Agnetti
 
MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010fmadiot
 
June 25 webcast adding mobile to power applications
June 25 webcast   adding mobile to power applicationsJune 25 webcast   adding mobile to power applications
June 25 webcast adding mobile to power applicationsLeigh Williamson
 
Convergence of Integration and Application Development
Convergence of Integration and Application DevelopmentConvergence of Integration and Application Development
Convergence of Integration and Application DevelopmentKim Clark
 
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTXDecision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTXSanjayKPrasad2
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesIBM Rational software
 
engineering-edge-vol.-5-iss.-2-LR
engineering-edge-vol.-5-iss.-2-LRengineering-edge-vol.-5-iss.-2-LR
engineering-edge-vol.-5-iss.-2-LRNatasha Antunes
 
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Haytham Ghandour
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Jonas Bandi
 

Similaire à EclipseCon Europe 2012 - Big Models (20)

6 es itronic-20
6 es itronic-206 es itronic-20
6 es itronic-20
 
OBD II Stack Solutions And Services
OBD II Stack Solutions And ServicesOBD II Stack Solutions And Services
OBD II Stack Solutions And Services
 
Daniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM ConnectionsDaniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM Connections
 
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
NRB MAINFRAME DAY 04 - Yann Kindelberger - New generation of application arch...
 
Model-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical SoftwareModel-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical Software
 
[SiriusCon 2020] Pushing Limits in Automotive Model Visualization at BOSCH - ...
[SiriusCon 2020] Pushing Limits in Automotive Model Visualization at BOSCH - ...[SiriusCon 2020] Pushing Limits in Automotive Model Visualization at BOSCH - ...
[SiriusCon 2020] Pushing Limits in Automotive Model Visualization at BOSCH - ...
 
Aniruddha_More_Resume
Aniruddha_More_ResumeAniruddha_More_Resume
Aniruddha_More_Resume
 
Max flash based code quality is there a canary in your coal mine-
Max  flash based code quality  is there a canary in your coal mine-Max  flash based code quality  is there a canary in your coal mine-
Max flash based code quality is there a canary in your coal mine-
 
OBD II Stack Solutions and Services
OBD II Stack Solutions and ServicesOBD II Stack Solutions and Services
OBD II Stack Solutions and Services
 
MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010
 
Large organisation airbus and open source - fossa2010
Large organisation   airbus and open source - fossa2010Large organisation   airbus and open source - fossa2010
Large organisation airbus and open source - fossa2010
 
Job posting
Job postingJob posting
Job posting
 
June 25 webcast adding mobile to power applications
June 25 webcast   adding mobile to power applicationsJune 25 webcast   adding mobile to power applications
June 25 webcast adding mobile to power applications
 
Convergence of Integration and Application Development
Convergence of Integration and Application DevelopmentConvergence of Integration and Application Development
Convergence of Integration and Application Development
 
Overview
OverviewOverview
Overview
 
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTXDecision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
engineering-edge-vol.-5-iss.-2-LR
engineering-edge-vol.-5-iss.-2-LRengineering-edge-vol.-5-iss.-2-LR
engineering-edge-vol.-5-iss.-2-LR
 
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
 

Dernier

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Dernier (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
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...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

EclipseCon Europe 2012 - Big Models

  • 1. EclipseCon Europe 2012 Challenges in the Automotive Industry: EMF Model Repositories - Scalability vs Performance Or The “Big Model” Problem Christof Hammel Andreas Rytina Cross Divisional Group - Software, Methods and Tools 1 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 2. EclipseCon Europe 2012 Outline Part I  Automotive  Domain  Software Development  Software Architecture & Use Cases  Development Environment  The “Big Model” Problem Part II  Model  Structure  Technology  CDO  Scalability & Performance  Conclusion Cross Divisional Group - Software, Methods and Tools 2 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 3. EclipseCon Europe 2012 Automotive Domain Case Study: Domain & Products: Powertrain Engine Control Units Our Customer (OEM) Products: 5500 employees worldwide 400 projects with all OEMs Passenger Car Heavy Duty 20 Mio ECUs / year Off Highway Cross Divisional Group - Software, Methods and Tools 3 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 4. EclipseCon Europe 2012 Our Embedded Product-Software 500.000 LOC ~500Mio LOC (> than 1st Space-Shuttle)  Product-Line development with high variability  1.500 variation points (pre compile) / “Meta” project  Automotive SW Component-Model (e.g. BlueArX, Autosar) .xml .c .xml .c  Interface consistency mainly determined by XML Component-Model data  Interfaces by Name-Refs (no class-path)   ~ 1.000 components (= PlugIn) / project Cross Divisional Group - Software, Methods and Tools 4 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 5. EclipseCon Europe 2012 Desktop Software Domain PlugIn Development Project Integration (ww) Distributed teams develop independent Integration A B C A B C Target Target Target Target PlugIn-Teams use same target Cross Divisional Group - Software, Methods and Tools 5 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 6. EclipseCon Europe 2012 Automotive Software Domain Component Development Project Integration 2.0.0 C 2.0.0 1.0.0 C C 2.0.0 Component Selection B B B A 1.0.0 2.0.0 1.0.0 2.0.0 A 1.0.0 A Cross Divisional Group - Software, Methods and Tools 6 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 7. EclipseCon Europe 2012 Our Software Architecture (Powertrain) Cross Divisional Group - Software, Methods and Tools 7 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 8. EclipseCon Europe 2012 Our Use Cases Use-Case 1: Validation  Check interface consistency across complete project: < 1min ~30 Interfaces ... ... ... ... 1.000 components ( PlugIns)  30.000 Traverse, Search, Check & Logging operations < 1min  Fast data cache  Complete project data in memory as Object-Model (Ecore) Use-Case 2: Diff/Merge  Updates require comparison to Reference/Predecessor-Proj.  Multiple projects loaded in IDE Cross Divisional Group - Software, Methods and Tools 8 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 9. EclipseCon Europe 2012 Our Development Environment IDE Applications / Use-Cases: • View, Navigate, Search, Edit • Build (Processing) • Validation • Diff/Merge BDOM-Model (EMF based) Loader / Serializer Workspace Version-Control, SCM File-Server Meta-DB Comp-Baselines Cross Divisional Group - Software, Methods and Tools 9 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 10. EclipseCon Europe 2012 Our BDOM-Model  Based on EMF  A few numbers:  900 entities (meta classes)  2.800 attributes and  2.700 references  ~ 800MB heap consumption / project  Windows XP (32Bit):  Max. 4GB address space  2GB User-Space  1GB for other tools (Outlook,...)  1GB heap size remaining for: Java classes, EMF domain model  Only 1 medium size project can be loaded into IDE  Big or multiple projects exceeds 32Bit Java systems  The Big Model Problem !!! Cross Divisional Group - Software, Methods and Tools 10 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 11. EclipseCon Europe 2012 Model Structure – Variant Management extends PL<CLASS> P<CLASS> implements PLIConditional instance of instance of +sysCond: PLExpression Product Models a' : P.. Product Line Model  The BlueArX Meta Model is seperated into a Product Line and a : PL.. b' : P.. a Product specific part b : PL.. c : PL.. d' : P..  Each meta class which is System configurable in the product line Condition a'' : P.. has a +sysCond attribute d : PL.. configuration b'' : P.. c'' : P.. Cross Divisional Group - Software, Methods and Tools 11 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 12. EclipseCon Europe 2012 Model Structure – Name Based References <source> <target>NameRef <target> * 1 1 *  Handle incomplete data structures  Easy loading, adding and deleting  Deleting data structures from model without damaging the model consistency Conditional Name Based References Cond<target>NameRef <source> <target>NameRef <target> +sysCond: PLExpression 1 * 1 * 1  Makes it possible to relocate complete sub trees in the architecture tree Cross Divisional Group - Software, Methods and Tools 12 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 13. EclipseCon Europe 2012 Premises and Technology Selection  Large number of applications have been implemented on top of BDOM  API must be stable (protection of investiment, quality)  Premise: Solution must not disrupt existing applications  Technology Selection:  Teneo: Relational DB. Not selected because SW-Engineering data is a graph model  Mongo/EMF  EMFStore  CDO : At the time of evaluation, CDO was most visible in the Eclipse community. Cross Divisional Group - Software, Methods and Tools 13 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 14. EclipseCon Europe 2012 Solution with CDO – the components Net4j JVMConnector Client Server TxPool RafStore ReadOnlyView +Accessor *.arxml *pavast.xml Builder Loader Random BDOM Access File Cache Processor Cross Divisional Group - Software, Methods and Tools 14 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 15. EclipseCon Europe 2012 Solution – write complete model to store Net4j JVMConnector Client Server TxPool RafStore *.arxml *pavast.xml ReadOnlyView +Accessor … Builder 2. Directly fill random access file Loader Random Loader Access File Cache Processor Cross Divisional Group - Software, Methods and Tools 15 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 16. EclipseCon Europe 2012 Solution – query a model instance Net4j JVMConnector • View • Validation Client Server • Editing • Processing TxPool Existing API RafStore ReadOnlyView +Accessor *.arxml *pavast.xml 3. get raf pointer from index 4. load element from raf Builder Loader Random Loader Access File Cache Processor Cross Divisional Group - Software, Methods and Tools 16 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 17. EclipseCon Europe 2012 Solution – edit and save a model instance Net4j • View JVMConnector • Validation Client Server • Editing 10. generate raf pointer 11. insert raf pointer at the index end • Processing 12. write new & changed elements Existing API TxPool RafStore ReadOnlyView +Accessor 6. serialize *.arxml *pavast.xml 3. get raf pointer from index Builder 4. load element from raf Loader Random Loader Access File Cache Processor Cross Divisional Group - Software, Methods and Tools 17 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 18. EclipseCon Europe 2012 Reduce memory consumption  The memory consumption can be reduced after the the model building step when the model is written to the database. But due to the cdo overhead the model building step consumes about 50% more memory.  Building a big model… (vmargs: -Xmx3g -XX:MaxPermSize=256m) …w/o CDO …w/ CDO building writing to store Cross Divisional Group - Software, Methods and Tools 18 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 19. EclipseCon Europe 2012 Don´t lose too much performance...  This couldn„t be achived for very query intensive use cases, i.e. model validations, content assist,…. Some measurements with EMF Validation Framework based constraints: (64bit JVM, vmargs: -Xmx3g -XX:MaxPermSize=256m) Use-Case w/o CDO w/ CDO BlueArX validation with Validation time: 2 min Validation time: 12 min a small model ~ factor 6 performance decrease Heap-Peak: 450MB Heap-Peak: 742MB BlueArX validation with Validation time 1:30 min Validation time: 23 min a medium size model ~ factor 15 performance decrease Heap-Peak: 1.1GB Heap-Peak: 2.2GB BlueArX validation with Validation time: 2 min n.a. a big model Heap-Peak: 1.9GB OutOfMemoryError with –Xmx3g  (~ 4GB estimated) Cross Divisional Group - Software, Methods and Tools 19 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
  • 20. EclipseCon Europe 2012 Conclusion  Other Design Options:  Manually Optimizing all queries  Replace EMF by Memory-Mapped-Files  3- or 2-tier architecture, using powerful servers for model queries  High effort (at least 1-2 years)  Developer‟s PC Infrastructure:  32Bit are gradually going extinct  64Bit/Win7 will be rolled-out at the time other design options would be implemented.  No benefit in investing in a different tool architecture  Efforts to be invested to improve speed performance:  E.g. EMF Indexing  Evaluate / Define standard solution for Automotive (e.g. Inc-Query)  Coordination in the Eclipse Auto-IWG Cross Divisional Group - Software, Methods and Tools 20 CDG-SMT/EMT | 04/09/2012 | © Robert Bosch GmbH 2012. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.