Slides for LangDev 2022. Talk.
http://langdevcon.org/
Pedro J. Molina: Essential 2.0 & Meow: Model Editors on the Web
Essential is a Language Workbench and tooling for implementing Model Driven tools on .NET initiated in 2008.
During this time the tool has been adapted to create metamodels, models, templates and model transformation in a complete integrated development environment (IDE). Essential has been used with success to prototype, create and evolve high-quality commercial code-generators.
In the last years, works to migrate Essential to the Web (version 2.0) has been performed to allow using its potential for cloud-based application and in the browser. Quid is one of the first tools created using Essential for Web. Moreover, Essential 2.0 is totally web-based and parsers and model editors has been recreated from scratch into TypeScript to fully embrace the Web platform and provide easy tooling for creating modeling environments on the Web. In this sense, Meow is a companion library for Essential to allow dynamically edit models on the web enforcing an arbitrary Essential Metamodel. Bindings for importing and exporting EMF ECore Models are provided to make it easy to reuse models.
LangDev 2022 Metamodeling on the Web with Essential
1. Metamodeling on the Web
2022.09.26 Aachen, LangDev2022
Dr. Pedro J. Molina
Founder at Metadev
https://metadev.pro
2. Context
Focus on tools for:
▪Conceptual Models,
▪DSLs on the Web, &
▪code generation for different
domains.
https://metadev.pro
Full remote company, HQin Seville, Spain.
3. Problems found
▪Lack of pure Web modeling
environments
▪Lack of tools & tooling modeling
on the cloud.
4. Essential is the 2nd version of a metamodeling tool able to
describe:
▪Metamodels
▪Models
Provides JIT interpretation of models to provide:
▪Editors
▪Validators
5. Main features:
▪Import & Export to: Essential / EMF-ECore / JSON Schema
▪On the fly editors / forms
▪On the fly model validation
9. Technical Overview
▪ Core technology able to create specific DSLs in a fast & cheap
way
▪ Fully implemented in TypeScript & Angular
▪ Able to transform models & generate code either browser or
server-side
▪ Zero install required. SaaS model. Working in all major
evergreen browsers
10. Use Cases
1. Define Metamodels
2. Explore editors for models
3. Validate documents
4. Import/Export to Essential, eCore an EMF
5. Editors for Structured Documents (Example EST40)
11. Industrial Usage
▪ Metadev builds DSLs for his customers using Essential as the base stack.
▪ No extra accidental complexity: Non-technical users working with theabstraction level
theyexpect.
▪ Form Interpreter for Workflow engines
▪ Data/Structure modeling tool (JSON-Schema)
▪ Building blocks for Lowcode/Nocode tools
▪ Environmentswith heavy modeling can benefitfrom:
▪ Cloud transformed models
▪ Custom projections on user’s browsers
▪ Zero local install (no more update hell withEclipse or Visual Studio for modeling
plugins)
▪ Quid: https://quid.metadev.pro DSL for WebComponents