As part of SiriusCon (the online conference on graphical modeling), I talked about future trends in systems and software modeling. The video will be online soon but, in the meantime, you can browse through the slides below.
The talk was divided into two parts: current challenges and future trends. A very short index of the main ideas in each section comes next. As it was a short 30-min talk I couldn’t get into the details of each idea but in the description below I’ve added pointers that expand on that idea. As usual, if you want to get more info on my thoughts behind the provocative statements just ask.The easiest way to increase the modeling ROI (return on investment) is to decrease the costs of using a modeling tool Click To Tweet
A core idea of the talk is that people will model once they see a clear return-on-investment (ROI) of making models explicit. We can increase the ROI by augmenting the benefits we get out of our models (e.g. with better code-generators) or by decreasing the cost of using modeling tools. I proposed a few ideas for this in the talk.
Current challenges in modeling and model-driven engineering
- Marketing challenges
- Modeling is not sexy (except for reverse engineering tools, e.g. OpenAPItoUML or JSON Discoverer) but
- The low-code term is killing it
- Usability challenges in modeling tools
- Infrastructure challenges
- Modeling is also collaboration, security and confidentiality
- Tools should go where users are (and adapt to the tools they use). E.g web-based modeling
- Among many other grand challenges in model-driven engineering
Future Modeling trends
- New modelings interfaces
- Textual models are also models. Killer combination: textual syntax to write, graphical one to render
- Moving to the cloud
- Modeling outside modeling tools (eg. creating UML models collaboratively on Slack)
- Modeling with chatbots and voicebots
- even if this “opening” of modeling generates new challenges (IP protection, accountability,…)
- Smart modeling, embedding AI into model-driven tools
- Model autocompletion
- ML for model transformations
- Personal modeling
- Models are not a static, fixed and complete artifact, rather a partial, dynamic and temporal view of the data to facilitate manipulating the data at that specific instant (think of models of big data).
- Let’s not reinvent UML. DSLs should be composable and combine a core domain language on top of which add libraries (for uncertainty modeling, temporal modeling,… depending on the project needs).
- Improve productivity and security by defining the exact modeling perspective each person needs.
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering. Home page.
Thanks a lot for this talk. One missing challenge, ok on which I’m working hardly but it remains a challenge: correctness. Especially executable DSL tools, a very nice notion, but if a DSL badly behave, even if the code generation is correct, it would be difficult to accept by end users. In some cases, debug a DSL is much more difficult to debug a program.
Indeed, correctness (in any of its definitions) is still an open problem! We typically use bounded verification but it’s a technique oriented towards the verification of static models.