The document discusses ASML's use of Sirius and model-driven engineering to develop its Multi-Disciplinary System Engineering (MDSE) ecosystem. It describes ASML's adoption of the Data-Control-Algorithm (DCA) architectural pattern to simplify its software architecture. It also outlines ASML's Software Modeling Environment (ASOME), which uses a family of domain-specific languages developed with Sirius to model different aspects of systems in their optimal forms and support integration. The document shares some ideas for improving Sirius' support for reuse, textual syntax, and customization of styles.
5. 20 January 2016
Slide 5
Public
ASML makes the machines for making those chips
• Lithography is the critical tool
for producing chips
• All of the world’s top chip
makers are our customers
• 2015 sales: €6.3 bln
• More than 15,000 employees
(FTE) worldwide
6. 20 January 2016
Slide 6
Public
Lithography is critical for shrinking transistors
Like a photo enlarger of old,
lithography forms the image of
chip patterns on a wafer
7. MDSE ecosystem: Multi Disciplinary System Engineering
21/11/2016
Public
Slide 7
Specification
• In terms of problem domain
• Expressive for concise
specification of large multi-
disciplinary systems
• ‘Look-and-feel’ primarily
determined by domain
experts
Crucial for adoption
Specification
• In terms of problem domain
• Expressive for concise
specification of large multi-
disciplinary systems
• ‘Look-and-feel’ primarily
determined by domain
experts
Crucial for adoption
Analysis
• Questions to be answered
primarily determine the suitable
(COTS) analysis tools
• Extra-functionals discriminate
further between suitable tools,
e.g. performance,
interoperability of tools
Analysis
• Questions to be answered
primarily determine the suitable
(COTS) analysis tools
• Extra-functionals discriminate
further between suitable tools,
e.g. performance,
interoperability of tools
Synthesis
• Property preserving
• Automated
Synthesis
• Property preserving
• Automated
14. 2016-11-15
Slide 14
Public
SW drives the machine
Measured data needs to go from measure to expose SW
SW decision made in the early days: data travels with control
Change in measured data leads to changes in all layers
15. 2016-11-15
Slide 15
Public
SW drives the machine
Solution: store data and communicate reference
Just one reason to explore and exploit a new architectural pattern: DCA
16. Slide 16
Public
DCA introduction
A software component typically needs to:
• Decompose incoming requests into calculations and
requests that are served by others
• Ensure that the calculations and external requests
are done in the correct order
• Ensure that the calculations are external requests
are given the right data
• Perform the calculations
Data
Math
Ctrl
Communication
Communication
17. 2016-11-15
Slide 17
Public
DCA design in evolution
Data
Math
Ctrl
Communication
Communication
Math
Ctrl
Communication
Communication
Extracting the repositories
allows replacing transport of
data by exchanging
reference to data.
Minimizes copying of data
through layers.
19. 2016-11-15
Slide 19
Public
DCA, separation of Data Control and Algorithms
How it started:
• Started with control by using ASD; no data
• Then spotted opportunity to deal with data
• Build first prototype on Papyrus and Acceleo to demonstrate feasibility of
generating working code from model
• Users started to think UML’ish, to draw UML’ish, and to expect specific semantics
• Semantics ambiguous and unclear
• Even then, insufficient resources to implement all variants; less is more
20. 2016-11-15
Slide 20
Public
DCA, separation of Data Control and Algorithms
How it progressed:
• SW architects decided to limit amount of concepts
• Build Sirius based prototype within a week
• Only provide tools and representations for supported concepts
• Subsequent iterations within days up to weeks
21. 2016-11-15
Slide 21
Public
DCA Data editor
Entity
ValueObject
Persisted together with
(handwritten and generated)
source code.
Therefore textual storage
format (realized using Xtext).
Closely following
Domain Driven Design
(Evans)
22. Actually, the DSL
DSL editor was
one of my first
Sirius experiences
2016-11-15
Slide 22
Public
DCA data code generator
ASOME data models are generated into C++ using a generator model
Model to Text
using Acceleo
Generator model
editor by XText
Generator model
specifies details only
relevant for code
generator
23. 2016-11-15
Slide 23
Public
ASOME – ASML Software Modeling Environment
Goal:
• Environment that exploits DSL’s to describe each aspect in its most optimal form
while supporting integration of aspect specific models
Solution:
• A family of languages, supported by editors, analyzers and generators, to allow
specification of DCA models
24. 2016-11-15
Slide 24
Public
ASOME – ASML Software Modeling Environment
Algorithms to be
worked out
Control interacting
with verification tools
Data editor being matured:
adapters, queries etc.
System for structure,
investigating behavior and
deployment aspects
Persistance by
Xtext in plain text
25. 2016-11-15
Slide 25
Public
ASOME – ASML Software Modeling Environment
Likely to become a huge undertaking
Requires a roadmap
Obviously realized with a DSL and a Sirius based Roadmap editor
Another ‘How to learn Sirius’ project
26. 2016-11-15
Slide 26
Public
ASOME empowered by Sirius
Sirius supports ASOME’s development by
• Being easy to learn
• Allowing fast iterations, incremental delivery
• Sufficiently expressive/powerful
• Providing quick support for all kinds of questions in the fora
Is there really no disadvantage or room for improvement?
27. 2016-11-15
Slide 27
Public
ASOME empowered by Sirius
Improvement ideas
• Support ‘reuse’ within tools by a procedure call and definition like mechanism
• Also provide textual syntax for vsp definitions
All have more or less the same behavior,
currently realized by java service, would
have preferred a ‘callable’ AQL specification
28. 2016-11-15
Slide 28
Public
ASOME empowered by Sirius
Improvement ideas
• Support ‘reuse’ within tools by a procedure call and definition like mechanism
• Also provide textual syntax for vsp definitions
• Optimize integration with textual editing frameworks, not everything is a picture
(but a lot is)
Location of editor not always
‘usable’. Open in separate edit
window might also be nice.
29. 2016-11-15
Slide 29
Public
ASOME empowered by Sirius
Improvement ideas
• Style customizations can be hard to define
• ‘style to be customized’ is hard to identify
DONE
While I was making this presentation
30. 2016-11-15
Slide 30
Public
ASML empowered by Sirius
Improvement areas ok, but are we happy?
Yes we are!
We are looking forward to integrate the enhanced property views into our
editors
We hope to optimize the integration between the textual parts and the
graphical parts in our environment