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
- Usability challenges in modeling tools
- Infrastructure challenges
- 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.