Artop. Workspace Integration. - BMW Car IT Gmbh
Artop. Workspace Integration. - BMW Car IT Gmbh
Artop. Workspace Integration. - BMW Car IT Gmbh
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?