25.10.2012 Views

Artop. Workspace Integration. - BMW Car IT Gmbh

Artop. Workspace Integration. - BMW Car IT Gmbh

Artop. Workspace Integration. - BMW Car IT Gmbh

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 1<br />

ARText.<br />

Driving developments with Xtext.<br />

Sebastian.Benz@bmw-carit.de<br />

Dana.Wong@bmw-carit.de


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 2<br />

AUTOSAR.<br />

Automotive Open Systems Architecture.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 3<br />

AUTOSAR.<br />

Automotive Open Systems Architecture.<br />

Application<br />

Software<br />

Component<br />

AUTOSAR<br />

Interface<br />

Applications<br />

AUTOSAR Runtime Modeling Environment Language (RTE)<br />

Basic Software<br />

ECU-Hardware<br />

Application<br />

Software<br />

Component<br />

AUTOSAR<br />

Interface<br />

Application<br />

Software<br />

Component<br />

AUTOSAR<br />

Interface


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 4<br />

AUTOSAR.<br />

Modeling AUTOSAR Systems.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 5<br />

Goal.<br />

A Textual Language for AUTOSAR.<br />

package AUTOSAR.components<br />

component atomic myComponent {<br />

ports {<br />

sender sPort provides mySRInterface<br />

receiver rPort requires mySRInterface<br />

}<br />

}<br />

composition System {<br />

prototype myComponent comp1<br />

prototype myComponent comp2<br />

connect comp1.sPort to comp2.rPort<br />

connect comp2.sPort to comp1.rPort<br />

}


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 6<br />

AUTOSAR Textual Language.<br />

There is an Eclipse Project for that…


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 7<br />

AUTOSAR Textual Language.<br />

Challenges.<br />

1. Performance<br />

2. <strong>Workspace</strong> integration<br />

3. Metamodel support


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 8<br />

Xtext.<br />

Performance.<br />

Time for parsing a series model (1500 files):<br />

oAW<br />

TMF<br />

14s<br />

240s


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 9<br />

AUTOSAR Textual Language.<br />

Building a DSL.<br />

Model Transformation


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 10<br />

AUTOSAR Tool Platform.<br />

<strong>Integration</strong> into <strong>Artop</strong>.<br />

<strong>Artop</strong><br />

Eclipse


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 11<br />

<strong>Artop</strong>.<br />

<strong>Workspace</strong> <strong>Integration</strong>.<br />

Different Resource Types<br />

Global Model


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 12<br />

Linking between different files


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 13<br />

<strong>Artop</strong>.<br />

<strong>Workspace</strong> <strong>Integration</strong>.<br />

components.artext<br />

components.arxml


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 14<br />

Supporting different AUTOSAR Releases.<br />

<strong>Workspace</strong> <strong>Integration</strong>.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 15<br />

Supporting different AUTOSAR Releases.<br />

<strong>Workspace</strong> <strong>Integration</strong>.<br />

components.artext<br />

components.arxml<br />

AUTOSAR 2.1<br />

AUTOSAR 3.x<br />

AUTOSAR 4.0


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 16<br />

Supporting different AUTOSAR Releases.<br />

The Linking DSL.<br />

Autosar 2.1<br />

Datatype


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 17<br />

Supporting different AUTOSAR Releases.<br />

The Linking DSL.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 18<br />

Supporting different AUTOSAR Releases.<br />

The Linking DSL.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 19


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 20<br />

Supporting different AUTOSAR Releases.<br />

Metamodel Differences.<br />

AUTOSAR 2.x<br />

ARText<br />

3.x<br />

4.0<br />

Release specific<br />

Extensions


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 21<br />

Supporting different AUTOSAR Releases.<br />

Language Extensions.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 22<br />

Supporting different AUTOSAR Releases.<br />

Language Extensions.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 23<br />

Supporting different AUTOSAR Releases.<br />

Language Extensions.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 24<br />

Lessons Learned.<br />

<strong>Integration</strong> often not trivial.<br />

Metamodel Management<br />

Scoping<br />

Editor Management<br />

Lifecycle Management<br />

Query & Indexing<br />

Validation<br />

Navigation


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 25<br />

Integrated Modeling.<br />

There is also an Eclipse Project for that…<br />

Sphinx


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 26<br />

Integrated Modeling.<br />

Sphinx.<br />

“Make sure that things fit together by<br />

reusing and integrating existing<br />

modeling components.”


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 27<br />

Integrated Modeling.<br />

Sphinx.<br />

<strong>Artop</strong> UML2 Tools<br />

Sphinx<br />

GMF OCL Compare CDO<br />

Query<br />

EMF<br />

Eclipse


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 28<br />

Summary.<br />

Using Xtext in practice.<br />

Scalable: handles large projects.<br />

Extendable: thanks to Guice<br />

non-trivial customizations are possible.<br />

Efficent: short development time.


ARText<br />

<strong>BMW</strong> <strong>Car</strong> <strong>IT</strong><br />

31/05/2010<br />

Page 29<br />

Thank you for your attention.<br />

Questions?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!