SiriusCon2016 - ASML's MDE Going Sirius
Transcript of SiriusCon2016 - ASML's MDE Going Sirius
Wilbert Alberts
15 november 2016, Paris
ASML’s MDE going Sirius
Public
SW architect ASML
2016-11-15
Slide 2
Public
Content
About ASML
MDE in ASML
DCA architecture pattern
Using Sirius
20 January 2016
Slide 3
Public
It’s hard to imagine a world without chips
Moore’s Law means doing more with less21/11/2016
Public
Slide 4
20 January 2016
Slide 5
Public
ASML makes the machines for making those chips
• Lithography is the critical toolfor producing chips
• All of the world’s top chipmakers are our customers
• 2015 sales: €6.3 bln
• More than 15,000 employees(FTE) worldwide
20 January 2016
Slide 6
Public
Lithography is critical for shrinking transistors
Like a photo enlarger of old,lithography forms the image ofchip patterns on a wafer
MDSE ecosystem: Multi Disciplinary System Engineering
21/11/2016
Public
Slide 7
Specification
• In terms of problem domain
• Expressive for concisespecification of large multi-disciplinary systems
• ‘Look-and-feel’ primarilydetermined by domainexperts
Crucial for adoption
Specification
• In terms of problem domain
• Expressive for concisespecification of large multi-disciplinary systems
• ‘Look-and-feel’ primarilydetermined by domainexperts
Crucial for adoptionAnalysis
• Questions to be answeredprimarily determine the suitable(COTS) analysis tools
• Extra-functionals discriminatefurther between suitable tools,e.g. performance,interoperability of tools
Analysis
• Questions to be answeredprimarily determine the suitable(COTS) analysis tools
• Extra-functionals discriminatefurther between suitable tools,e.g. performance,interoperability of tools
Synthesis
• Property preserving
• Automated
Synthesis
• Property preserving
• Automated
2016-11-15
Slide 8
Public
ASML and MDEWafer logistics
Domain specific behavior specification
Slide 9
Public
ASML and MDECARM
Timing verification
2016-11-15
Slide 10
Public
ASML and MDEASOME
Structure specification and refinement
2016-11-15
Slide 11
Public
SW drives the machine
Simplified SW architecture
Measure SW Expose SWIn parallel
2016-11-15
Slide 12
Public
SW drives the machine
Simplified SW architecture
Layeredarchitecture
2016-11-15
Slide 13
Public
SW drives the machine
Measured data needs to go from measure to expose SW
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
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
Slide 16
Public
DCA introduction
A software component typically needs to:
• Decompose incoming requests into calculations andrequests that are served by others
• Ensure that the calculations and external requestsare done in the correct order
• Ensure that the calculations are external requestsare given the right data
• Perform the calculations
Data
Math
Ctrl
Communication
Communication
2016-11-15
Slide 17
Public
DCA design in evolution
Data
Math
Ctrl
Communication
Communication
Math
Ctrl
Communication
Communication
Extracting the repositoriesallows replacing transport ofdata by exchangingreference to data.Minimizes copying of datathrough layers.
2016-11-15
Slide 18
Public
DCA design in evolution
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 ofgenerating 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
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
2016-11-15
Slide 21
Public
DCA Data editor
Entity
ValueObject
Persisted together with(handwritten and generated)source code.Therefore textual storageformat (realized using Xtext).
Closely followingDomain Driven Design(Evans)
Actually, the DSLDSL editor wasone of my firstSirius experiences
2016-11-15
Slide 22
Public
DCA data code generator
ASOME data models are generated into C++ using a generator model
Model to Textusing Acceleo
Generator modeleditor by XText
Generator modelspecifies details onlyrelevant for codegenerator
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
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 byXtext in plain text
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 editorAnother ‘How to learn Sirius’ project
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?
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, wouldhave preferred a ‘callable’ AQL specification
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 editwindow might also be nice.
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 m
aking this presentatio
n
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 oureditors
We hope to optimize the integration between the textual parts and thegraphical parts in our environment
2016-11-15
Slide 31
Public