Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Modeling should be an independent scientific di...

Avatar for Jordi Cabot Jordi Cabot
September 16, 2022

Modeling should be an independent scientific discipline

Software modeling started as a paradigm to help developers build better software faster by enabling them to specify, reason and manipulate software systems at a higher-abstraction level while ignoring irrelevant low-level technical details. But this same principle manifests in any other domain that has to deal with complex systems, software-based or not.

We argue that bringing to other engineering and scientific fields, our modeling expertise is a win–win opportunity where we can all learn from each other as we all model, but in complementary ways. Nevertheless, to fully unleash the benefits of this collaboration, we must go beyond individual efforts trying to adapt single techniques from one field to another. It requires a deeper reformulation of modeling as a whole. It is time for modeling to become an independent discipline where all fields of knowledge can contribute and benefit from.

Avatar for Jordi Cabot

Jordi Cabot

September 16, 2022
Tweet

More Decks by Jordi Cabot

Other Decks in Programming

Transcript

  1. Modeling should be an independent scientific discipline @JordiCabot / jordicabot.com

    / modeling-languages.com Jordi Cabot, Antonio Vallecillo Cabot, J., Vallecillo, A. Modeling should be an independent scientific discipline. Softw Syst Model (2022). https://doi.org/10.1007/s10270- 022-01035-8 (Open access)
  2. SOM research lab - Our mission Interested in the broad

    area of systems and software engineering, especially promoting the rigorous use of software models and engineering principles in all software engineering tasks. Flickr/clement127
  3. • Grady Booch – history of softwre engineering The entire

    history of software engineering is that of the rise in levels of abstraction - Grady Booch
  4. • Everything is a model • The key role of

    modeling and abstraction in software engineering • Their key role also beyond software itself I think we all agree
  5. Low-code application platforms accelerate app delivery by dramatically reducing the

    amount of hand-coding required – Forrester Report BUT we have a marketing problem…
  6. Low-code is trending because •Much clearer message: Everybody understands that

    low-code means “less coding”. MDD is much more confusing •Sounds familiar, as the marketing msg is still focus on the code •Simpler pipeline, no transformation chains, one- shot modeling. •Low-code tools are better <- Usability issues!!!
  7. "Given the final model, the complete computerized information system can

    be automatically generated“ "we arrive at a specification from which executable code can be automatically generated" Already topics at CAiSE’91
  8. • But we can still help with our particular modeling

    perspective and expertise – By building a useful set of abstractions and precise notations to use them – “Machinery” to automatically reason on, process and exchange models build with these abstractions There is plenty of modeling in other domains
  9. To unleash the full potential of modeling we need to

    break free of our traditional positioning within software engineering and cooperate with scientists and engineers from other domains. The best way to achieve this is for modeling to become an independent discipline that serves all the rest. WIN-WIN proposition -> we help others and learn from them
  10. Why a discipline • A way to give modeling the

    recognition it deserves, increase its visibility, and attract the talent and resources it needs
  11. Object of research Body of knowledge Theories and concepts Terminology

    Reserach methods Teaching Can it be a discipline?
  12. Be inclusive • Understand (and collect) how different communities model

    • Build bridges among different models and study the benefits of different combinations of such models • Develop the proper tooling for this
  13. Teaching modeling • MBEBOK could be a starting point •

    Combine a set of core concepts with specializations for specific domains – Specialization goes beyond tech concepts, e.g. effective use of modeling in the domain X based on the profile of user there • Different education paths for “modeling users” and “modeling devs”
  14. User driven DSLs • New DSLs are needed for many

    domains where use of modeling is informal • But these domains are far from our knowledge • We need to involve the end-users • Lack of prof modelers -> non-tech people creating DSLs
  15. Usability • Modeling tools are not that usable, especially for

    non experts • Can we bring modeling to the tools they already use? • How to facilitate the modeling process? – AI to the rescue – Generation of models from data / docs
  16. Economies of modeling • Methods to compute the ROI of

    modeling • Needed to discuss the benefits of adopting modeling in different scenarios
  17. Publishing • To involve researchers, they must be able to

    get something out of their time • Interdisciplinary publishing is really tough