Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ARText - Driving Developments with Xtext

3,523 views

Published on

Published in: Technology, Sports
  • Be the first to comment

ARText - Driving Developments with Xtext

  1. 1. ARText. ARText BMW Car IT 11/20/09 Page 1 Driving developments with Xtext. Sebastian.Benz@bmw-carit.de Dana.Wong@bmw-carit.de
  2. 2. AUTOSAR. ARText BMW Car IT 11/20/09 Page 2 Automotive Open Systems Architecture.
  3. 3. 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
  4. 4. AUTOSAR. ARText BMW Car IT 11/20/09 Page 4 Modeling AUTOSAR Systems.
  5. 5. 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 }
  6. 6. AUTOSAR Textual Language. ARText BMW Car IT 11/20/09 Page 6 There is an Eclipse Project for that…
  7. 7. AUTOSAR Textual Language. ARText BMW Car IT 11/20/09 Page 7 Challenges. 1.  Performance 2. Workspace integration 3. Metamodel support
  8. 8. Xtext. ARText BMW Car IT 11/20/09 Page 8 Performance. Time for parsing a series model (1500 files): oAW 240s TMF 14s
  9. 9. AUTOSAR Tool Platform. ARText BMW Car IT 11/20/09 Page 9 Integration into Artop. Artop Eclipse
  10. 10. Artop. ARText BMW Car IT 11/20/09 Page 10 Workspace Integration. On-the-fly model transformation
  11. 11. Artop. ARText BMW Car IT 11/20/09 Page 11 Workspace Integration. components.artext components.arxml
  12. 12. The AUTOSAR Dilemma. ARText BMW Car IT 11/20/09 Page 12 Handling different AUTOSAR Releases.
  13. 13. 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
  14. 14. Supporting different AUTOSAR Releases. ARText BMW Car IT 11/20/09 Page 14 The Linking DSL.
  15. 15. 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
  16. 16. 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 |...;
  17. 17. Supporting different AUTOSAR Releases. ARText BMW Car IT 11/20/09 Page 17 Language Extensions.
  18. 18. 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); }
  19. 19. 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
  20. 20. 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.
  21. 21. Thank you for your attention. ARText BMW Car IT 11/20/09 Page 21 Questions?

×