ARText.
ARText
BMW Car IT
11/20/09
Page 1


             Driving developments with Xtext.




             Sebastian.Benz@bmw-carit.de
             Dana.Wong@bmw-carit.de
AUTOSAR.
ARText
BMW Car IT
11/20/09
Page 2
             Automotive Open Systems Architecture.
AUTOSAR.
ARText
BMW Car IT
11/20/09
Page 3
             Automotive Open Systems Architecture.



              Application                      Application   Application
               Software                         Software      Software
              Component          AUTOSAR       Component     Component
                                SOFTWARE
               AUTOSAR                         AUTOSAR          AUTOSAR
                Interface                       Interface        Interface


                               AUTOSAR Modeling Language
                            AUTOSAR Runtime Environment (RTE)

                                      Basic Software

                                      ECU-Hardware
AUTOSAR.
ARText
BMW Car IT
11/20/09
Page 4
             Modeling AUTOSAR Systems.
Goal.
ARText
BMW Car IT
11/20/09
Page 5
             A Textual Language for AUTOSAR.

             package AUTOSAR.components

             component atomic myComponent {
                ports {
                    sender sPort provides mySRInterface
                    receiver rPort requires mySRInterface
                }
             }

             composition System {
                prototype myComponent comp1
                prototype myComponent comp2
                connect comp1.sPort to comp2.rPort
                connect comp2.sPort to comp1.rPort
             }
AUTOSAR Textual Language.
ARText
BMW Car IT
11/20/09
Page 6
             There is an Eclipse Project for that…
AUTOSAR Textual Language.
ARText
BMW Car IT
11/20/09
Page 7
             Challenges.

             1.  Performance




             2. Workspace integration




             3. Metamodel support
Xtext.
ARText
BMW Car IT
11/20/09
Page 8
             Performance.

             Time for parsing a series model (1500 files):


                oAW                                          240s




                TMF        14s
AUTOSAR Tool Platform.
ARText
BMW Car IT
11/20/09
Page 9
             Integration into Artop.




                                   Artop
                                  Eclipse
Artop.
ARText
BMW Car IT
11/20/09
Page 10
             Workspace Integration.




                                      On-the-fly model transformation
Artop.
ARText
BMW Car IT
11/20/09
Page 11
             Workspace Integration.




                                      components.artext




                                      components.arxml
The AUTOSAR Dilemma.
ARText
BMW Car IT
11/20/09
Page 12
             Handling different AUTOSAR Releases.
The AUTOSAR Dilemma.
ARText
BMW Car IT
11/20/09
Page 13
             Supporting different AUTOSAR Releases.




                                      components.artext




                                      components.arxml

                                              AUTOSAR 2.1


                                                AUTOSAR 3.x


                                                   AUTOSAR 4.0
Supporting different AUTOSAR Releases.
ARText
BMW Car IT
11/20/09
Page 14
             The Linking DSL.
The AUTOSAR Dilemma.
ARText
BMW Car IT
11/20/09
Page 15
             Metamodel Differences.




                        AUTOSAR 2.x


                            ARText    3.x
                                            4.0

                                            Release specific
                                            Extensions
Supporting different AUTOSAR Releases.
ARText
BMW Car IT
11/20/09
Page 16
             Language Extensions.


             TCompositionType:
                'composition' name=ID '{'
                    (...|
                    extensionPoints += TExtensionPoint)*
                '}'
             ;

             TExtensionPoint:
                keyword=ID (args+=TArg (',' args+=TArg)* )?;


             TArg:
                ListLiteral | BoolLiteral | StringLiteral |...;
Supporting different AUTOSAR Releases.
ARText
BMW Car IT
11/20/09
Page 17
             Language Extensions.
Supporting different AUTOSAR Releases.
ARText
BMW Car IT
11/20/09
Page 18
              Language Extensions.

             @ArtextExtension(
                    artextElement = TCompositionType.class,
                    keyword = "checksum",
                    params = { "the checksum" }
             )
             public void execute(CompositionType container, String checksum){
                    i.setChecksum(theChecksum);
             }
Results.
ARText
BMW Car IT
11/20/09
Page 19
             Modeling Efficiency.

             # Mouse Clicks:
                      ARText
             Commercial Tool


             # Key presses:
                      ARText
             Commercial Tool


             Modeling time (min):

                      ARText
             Commercial Tool
Summary.
ARText
BMW Car IT
11/20/09
Page 20
             Using Xtext in practice.

             Scalable: handles large projects.




             Extendable: thanks to Guice
             non-trivial customizations are possible.




             Efficent: short development time.
Thank you for your attention.
ARText
BMW Car IT
11/20/09
Page 21
             Questions?

ARText - Driving Developments with Xtext

Editor's Notes

  • #4 Basic Software and Software Components are specified in an AUTOSAR modeling language.
  • #5 The AUTOSAR metamodel is complex. Abstraction are required for efficient modeling.
  • #6 A textual language is only as good as it‘s tooling => Goal is to create a language and a tool
  • #9 The new xtext version is clearly able to handle large projects.
  • #10 http://www.artop.org
  • #12 From a tooling point of view, the code completion proposals must come from other artext files as well as other autosar resources. But the problem gets even worse...
  • #13 AUTOSAR is not a one lane road, it is a three lane road. There are different revisions of the AUTOSAR standard: 2, 3 and the upcoming 4.0 which all must be supported by ARText. Our language must support different metamodel releases Reference to COPE
  • #15 The information specified in the linking file is used for Scoping, Validation and Linking during transformation.