siriuscon2016 - asml's mde going sirius

32
Wilbert Alberts 15 november 2016, Paris ASML’s MDE going Sirius Public SW architect ASML

Upload: obeo

Post on 07-Jan-2017

129 views

Category:

Software


12 download

TRANSCRIPT

Page 1: SiriusCon2016 - ASML's MDE Going Sirius

Wilbert Alberts

15 november 2016, Paris

ASML’s MDE going Sirius

Public

SW architect ASML

Page 2: SiriusCon2016 - ASML's MDE Going Sirius

2016-11-15

Slide 2

Public

Content

About ASML

MDE in ASML

DCA architecture pattern

Using Sirius

Page 3: SiriusCon2016 - ASML's MDE Going Sirius

20 January 2016

Slide 3

Public

It’s hard to imagine a world without chips

Page 4: SiriusCon2016 - ASML's MDE Going Sirius

Moore’s Law means doing more with less21/11/2016

Public

Slide 4

Page 5: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 6: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 7: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 8: SiriusCon2016 - ASML's MDE Going Sirius

2016-11-15

Slide 8

Public

ASML and MDEWafer logistics

Domain specific behavior specification

Page 9: SiriusCon2016 - ASML's MDE Going Sirius

Slide 9

Public

ASML and MDECARM

Timing verification

Page 10: SiriusCon2016 - ASML's MDE Going Sirius

2016-11-15

Slide 10

Public

ASML and MDEASOME

Structure specification and refinement

Page 11: SiriusCon2016 - ASML's MDE Going Sirius

2016-11-15

Slide 11

Public

SW drives the machine

Simplified SW architecture

Measure SW Expose SWIn parallel

Page 12: SiriusCon2016 - ASML's MDE Going Sirius

2016-11-15

Slide 12

Public

SW drives the machine

Simplified SW architecture

Layeredarchitecture

Page 13: SiriusCon2016 - ASML's MDE Going Sirius

2016-11-15

Slide 13

Public

SW drives the machine

Measured data needs to go from measure to expose SW

Page 14: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 15: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 16: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 17: SiriusCon2016 - ASML's MDE Going Sirius

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.

Page 18: SiriusCon2016 - ASML's MDE Going Sirius

2016-11-15

Slide 18

Public

DCA design in evolution

Page 19: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 20: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 21: SiriusCon2016 - ASML's MDE Going Sirius

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)

Page 22: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 23: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 24: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 25: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 26: SiriusCon2016 - ASML's MDE Going Sirius

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?

Page 27: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 28: SiriusCon2016 - ASML's MDE Going Sirius

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.

Page 29: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 30: SiriusCon2016 - ASML's MDE Going Sirius

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

Page 31: SiriusCon2016 - ASML's MDE Going Sirius

2016-11-15

Slide 31

Public

Page 32: SiriusCon2016 - ASML's MDE Going Sirius