- Speakers
Juha-Pekka Tolvanen

- Description
(This is a hands-on lab with limited capacity)
In every domain, language defines what we can speak, design, automate, and reason about. Yet, many teams still rely on ambiguous natural language specifications that don’t translate well into models, code, or tests. In this hands-on session, we’ll explore how to bridge this gap by creating a shared, formal language — a domain-specific language (DSL) — together.
We’ll start by examining real-world examples of domain-specific and computer-supported languages used in industry. Then, we’ll collaboratively design a ubiquitous language for an IoT device domain, formalizing it step by step into a working DSL. You’ll see how such a language enables domain experts and developers to collaborate, verify, and validate specifications — and even generate executable artifacts like code, configurations, or tests. Through practical exercises, we’ll describe and refine IoT applications such as theft alarms, trackers, and speed alerts, iterating on the language design to assess how well it captures domain concepts and supports communication across roles.
By the end of this session, participants will:
- Understand the process of turning a ubiquitous language into a formal DSL
- Learn how formalized languages improve collaboration and traceability
- Gain hands-on experience modeling IoT behaviors in a custom DSL
- See how specifications can drive automation across the development lifecycle
Join us to experience how a shared formal language can transform communication into computation.
Prerequisites
Participants are expected to have some experience on modeling but not of language creation.
About Juha-Pekka Tolvanen
Juha-Pekka Tolvanen works for MetaCase. He has been involved in domain-specific languages and tools since 1991 and acted as a consultant world-wide on their use. Juha-Pekka has co-authored a book (Domain-Specific Modeling, Wiley 2008) and over 80 articles in software development magazines and conferences. Juha-Pekka holds a Ph.D. in computer science.