Virtual Meetup: "MuDForM applied: scaling up Specification by Example"

Hi Community,

I am happy to announce that this Thursday (the 31st of March), Jennek Geels and Niko Stotz will hold the discussion about " MuDForM applied: scaling up Specification by Example ".

Also, remember that we changed the link to join the Meetup!

Last week, Robert Deckers introduced MuDForM, a method that turns the art of domain modeling into engineering practice. This week Jennek Geels and Niko Stotz will apply this method to a real-world case, show MPS-based tools to facilitate the method and sketch status and plans. At Canon Production Printing, we applied MuDForM to Specification by Example, giving “MuDForm based Specification by Example”.

Internally this is known as “xSBD” which stands for “executable System Behavior Document”. The objective of xSBD is to turn the art of Specification by Example into engineering practice.

Topics are:

– why we work with Specification by Example

– how we use MuDForm to scale up Specification by Example (1000+ scenarios)

We will look at two aspects of combining MuDForm and Specification by Example

  1. integrating the underlying model and notation
  2. integrating the steps and guidelines

Moreover, we will look at the prototype of the “xSBD workbench”, built by Niko Stotz in JetBrains MPS. The xSBD workbench is a collection of tools to support the various steps of the xSBD method. We will discuss some of the solutions and some of the struggles when working with MPS.

Jennek has spent most of his working life at Océ-Technologies, since 2020 known as Canon Production Printing (CPP). He has had a large variety of roles, always bridging the gap between customers and R&D. Starting to work with Smalltalk in 1985, he was actively doing DSLs well before that was a thing. Looking for ways to engage domain experts, in 1996 he embraced KISS, a method that provides steps and guidelines to begin with the informal conversation among domain experts and turn it into a consistent and complete domain model. KISS was way ahead of its time and did not survive as a company. However, Jennek kept the KISS method alive within CPP. One application of KISS named Sheela has become a core part of multiple CPP products. Since 2018 Jennek is working with Robert Deckers to apply MuDForM, which may be considered a successor to KISS.

Niko is a long-time expert in Language Engineering. He has worked on designing and implementing DSLs, first based on EMF technologies and now mostly based on MPS. He is currently continuing his work on Language Engineering at F1RE in the Netherlands.

Registration for the Virtual Meetup

After registering, you will receive a confirmation email containing information about joining the meeting. It will also permit you to add it to your calendar.

Time

It is hosted on Zoom at 6 PM GMT+1/CEST (you can use this link to figure out which time is in your timezone: Dateful Time Zone Converter).

Event hint

I am also happy to extend the invitation to the Thematic Workshop on Systems Engineering, Wednesday 11th May at King’s College London organised by MDENet, (https://community.mde-network.org/posts/21560727).

This one-day event taking place on Wednesday 11th May as an in-person session at King’s College London aims to improve mutual understanding of research challenges and opportunities for MDE to help address problems in a particular thematic area. Our goal is that the workshop can spark collaborations between people in different areas. MDENet offers a range of funding opportunities to support the further development of such collaborations.

Cheers,
Elisa

P.S. We get a recurring question: “Are presentations recorded?”. The answer is not, and the reasons are explained here On recording Virtual Meetups - #7 by voelter

Hello, this is the content of the chat:

17:54:00 From Rene to Everyone:
	Hello Hello!
18:02:53 From Peter Wasilko to Everyone:
	Guilty on the one hour too early!
18:08:27 From Federico Tomassetti to Everyone:
	The book about KISS: https://www.amazon.it/gp/product/0201422999/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 (even if OO is in the title it has nothing to do with the book, just marketing 😄)
18:10:00 From Robert Deckers to Everyone:
	I would say, the KISS method is advanced OO analysis :). But it has nothing to do with OO programming.
18:18:59 From Rene to Everyone:
	Can constants be used that people agree on to avoid the ambiguity?
18:20:15 From Federico Tomassetti to Everyone:
	I think a problem is that in Gherkin you can use just free text, you do not have to define the constants upfront and then refer to them
18:21:19 From Rene to Everyone:
	Ok, so Gherkin does not have words that are like constants
18:21:36 From Federico Tomassetti to Everyone:
	Not that I know, no
18:22:57 From Robert Deckers to Everyone:
	I don't know what a constant is in this context. But all the words in a sentence are defined by either a domain model or by a function model. Function models are defined completely in terms of domain models.
18:23:30 From Robert Deckers to Everyone:
	domain models contain actions. These will be used as steps (state tranistions) in a function models
18:24:53 From Robert Deckers to Everyone:
	Gherkin scenarios can be seen as state transitions. The point with Gherkin is that there is no model/view that shows the coherence between scenarios. The MuDForM function models do.
18:25:24 From Robert Deckers to Everyone:
	hope this clarifies a bit :)
18:26:38 From Rene to Everyone:
	Sounds like Gherkin is backed by Mudform models
18:27:09 From Peter Wasilko to Everyone:
	could you flip back one slide?
18:27:39 From Federico Tomassetti to Everyone:
	Should I ask anything specific about the slide?
18:27:40 From Robert Deckers to Everyone:
	yes, MuDForM provides consistency and interpretability of Gherkin scenarios
18:28:13 From Peter Wasilko to Everyone:
	just wanted to linger on it for moment
18:28:19 From Peter Wasilko to Everyone:
	the 2 langues slide
18:28:53 From Peter Wasilko to Everyone:
	Thnaks
18:29:20 From Robert Deckers to Everyone:
	Also the other way around. MuDForM provides a complete system spec, but example (scenarios) specifications are added for clarification and for testability
18:30:45 From Rene to Everyone:
	I see, makes sense
18:31:47 From Federico Tomassetti to Everyone:
	I could not find the KISS Domino on Amazon 🙁
18:34:31 From Federico Tomassetti to Everyone:
	Is the font big enough?
18:34:34 From Robert Deckers to Everyone:
	haha. You have to have connections. I think Gerald Kristen still has some. My guess is that they cost about 1000 euros
18:34:58 From Meinte Boersma to Everyone:
	3D printers are your friend, then!
18:35:11 From Federico Tomassetti to Everyone:
	Wow! Maybe we need to produce more on them and sell them for 500 Euros…
18:40:01 From Robert Deckers to Everyone:
	My suggestion: we make some adaptations and call it the MuDForMinot :)
18:40:21 From Federico Tomassetti to Everyone:
	And we sell it for 2,000 Euros!
18:40:38 From Peter Wasilko to Everyone:
	I'd have used “Previously Fully Printed Jobs”
18:41:27 From Peter Wasilko to Everyone:
	To cover the case of a paper jam half way through.
18:41:33 From Federico Tomassetti to Everyone:
	Networking in action 🙂
18:41:54 From Robert Deckers to Everyone:
	Peter, that could have been. But it is the terminology of the domain experts.
18:43:15 From Peter Wasilko to Everyone:
	Good point!
18:44:06 From Peter Wasilko to Everyone:
	Has the process surfaced any significant distinctions the domain experts had neglected to make?
18:44:44 From Markus Voelter to Everyone:
	Why don’t you use the plantuml plugin instead of the diagrams language?
18:45:55 From Robert Deckers to Everyone:
	I has uniformized the terminology, and also some missing actions to have a full specification of the life of some objects. In comparison to the previous comparison with state machines: some missing state transitions.
18:48:02 From Rene to Everyone:
	How can I tell which words are there to look nice in the phrase, and which ones are in a model (variables)?
18:49:13 From Federico Tomassetti to Everyone:
	Hi Rene, do you refer to the “Gherkin like” editor we were seeing before?
18:49:37 From Rene to Everyone:
	Yes, the gherkin phrases
18:50:32 From Paul Spencer to Everyone:
	the corollary to "refactoring is changing the code without changing the behaviour" is (the polite version) "refactoring without tests, is just changing stuff"
18:51:41 From Robert Deckers to Everyone:
	Federico, I think the question of Rene is very valid, and honestly I cannot answer it...
18:51:57 From Robert Deckers to Everyone:
	at least, not completely
18:53:20 From Peter Wasilko to Everyone:
	Yes
18:58:12 From Rene to Everyone:
	Ok, everything in Gherkin IS in the model. associating a couple words to a model
18:58:38 From Mike Cargal to Everyone:
	It looks like “When" and “And" are redundant
18:58:49 From Mike Cargal to Everyone:
	same with "THen" and "and”
18:59:08 From Mike Cargal to Everyone:
	and “Given" and “and"
18:59:43 From Rene to Everyone:
	Yea, to me, the bold blue stuff is a gherkin language keyword
19:00:22 From Meinte Boersma to Everyone:
	There's probably a nice mnemonic for “brown = the free text stuff” ;)
19:00:38 From Markus Voelter to Everyone:
	Was thinking of this as well :-)
19:01:14 From Meinte Boersma to Everyone:
	The color is probably quite intentional to start with 🙂
19:01:18 From Rene to Everyone:
	I can barely see the difference on my screen
19:02:34 From Robert Deckers to Everyone:
	the blue ones are Gherkin. After those you will find either things form the model, or from the specification language to phrase contraints, like "a IS b" or "a SHOULD BE b" or free text because the model was not complete.
19:05:53 From Federico Tomassetti to Everyone:
	Thiago I noticed you raised the hand and you are the first in line with questions at the end of the presentation
19:07:36 From Markus Voelter to Everyone:
	*raise hand*
19:07:51 From Markus Voelter to Everyone:
	(can
19:07:55 From Rene to Everyone:
	Thank you for answering my questions
19:07:56 From Markus Voelter to Everyone:
	t find the button)
19:08:08 From Federico Tomassetti to Everyone:
	I consider it raised 🙂
19:21:06 From Rene to Everyone:
	GPT3?
19:21:06 From Peter Wasilko to Everyone:
	see the Language Tool too
19:23:35 From Meinte Boersma to Everyone:
	Thank you for the great presentation!
19:23:38 From Rene to Everyone:
	Amazing work!
19:23:44 From Peter Wasilko to Everyone:
	Thanks so much!
19:23:48 From Stephen Nell to Everyone:
	Good talk - tahnk you