Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

SiriusCon2016 - ASML's MDE Going Sirius

ASML is the world's leading provider of lithography systems for the semiconductor industry. Such systems are controlled by more than 20 million lines of code. To improve the efficiency and quality of its software development process, ASML is using, amongst others, model-driven-engineering and associated tools and techniques.

Recently, subsystems are being developed according to an architecture pattern that separates Data, Control and Algorithms (DCA). To support this pattern, the ASML software architecture group is working towards a SW development environment (ASOME). This environment consists of a set of modeling languages, associated editors that allow specification of (sub)systems according to this DCA pattern. Furthermore, it contains model-to-model transformations to (COTS) analysis tools (e.g. model checkers) and model-to-text transformation to generate (parts of) the implementation.

In this presentation, I will briefly introduce ASML and the kind of (software) systems that we develop. Some aspects of the DCA architectural pattern, the languages that we are developing and the associated Sirius based editors, will be presented. For the Data part, a DSL and editor have been developed allowing the definition of various kinds of datatypes from which various kinds of repositories can be generated supporting clone based data or reference based data, modifiable and read-only entities etc. In order support the Control aspect; a language and editor have been defined that allow specification of interfaces and their realization based on state machines. A system editor allows decomposition of a system into subsystems while allowing delegation of incoming requests to internal parts. The editors are mostly Sirius based graphical editors, where the created models are persisted textually using XText.

The presentation will focus on sharing some of our experiences with both the development and deployment of products based on Sirius technology. Building the ASOME environment imposes many challenges and I would like to conclude with some that specifically target the development of the front ends of this environment.

  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

SiriusCon2016 - ASML's MDE Going Sirius

  1. 1. Wilbert Alberts 15 november 2016, Paris ASML’s MDE going Sirius Public SW architect ASML
  2. 2. 2016-11-15 Slide 2 Public Content About ASML MDE in ASML DCA architecture pattern Using Sirius
  3. 3. 20 January 2016 Slide 3 Public It’s hard to imagine a world without chips
  4. 4. Moore’s Law means doing more with less 21/11/2016 Public Slide 4
  5. 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. 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. 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
  8. 8. 2016-11-15 Slide 8 Public ASML and MDE Wafer logistics Domain specific behavior specification
  9. 9. Slide 9 Public ASML and MDE CARM Timing verification
  10. 10. 2016-11-15 Slide 10 Public ASML and MDE ASOME Structure specification and refinement
  11. 11. 2016-11-15 Slide 11 Public SW drives the machine Simplified SW architecture Measure SW Expose SW In parallel
  12. 12. 2016-11-15 Slide 12 Public SW drives the machine Simplified SW architecture Layered architecture
  13. 13. 2016-11-15 Slide 13 Public SW drives the machine Measured data needs to go from measure to expose SW
  14. 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. 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. 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. 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.
  18. 18. 2016-11-15 Slide 18 Public DCA design in evolution
  19. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  31. 31. 2016-11-15 Slide 31 Public

×