Skip to main content
Log in

What will it take? A view on adoption of model-based methods in practice

  • Expert’s Voice
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Model-based engineering (MBE) has been touted as a new and substantively different approach to software development, characterized by higher levels of abstraction and automation compared to traditional methods. Despite the availability of published verifiable evidence that it can significantly boost both developer productivity and product quality in industrial projects, adoption of this approach has been surprisingly slow. In this article, we review the causes behind this, both technical and non-technical, and outline what needs to happen for MBE to become a reliable mainstream approach to software development.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Notes

  1. I eschew here the distracting and often unproductive controversy as to whether or not software development is a form of “engineering” and shall refer to it throughout as a “technical” discipline.

  2. In contrast, the same cycle in most engineering disciplines may take months or even years.

  3. Another source of problems is the exceedingly low entry barrier into the profession; basic programming skills can be picked up quickly and easily by amateurs. Consequently, many practitioners lack systematic and deep training in basics of computer science and engineering.

  4. In this discussion we are only interested in “complex” software systems, characterized by sophisticated functionality and numerous technical challenges and whose conception and construction require a variety of skills.

  5. Although, as demand for ever more sophisticated systems increases, we are hearing more and more about cost and schedule overruns of various large engineering projects. However, unlike software, very few of these actually fail. Most high-risk projects are terminated early in the development, before significant funds and resources have been spent. This is because it is possible to reliably predict the probability of failure sufficiently early in the project.

  6. A rough estimate, based primarily on the author’s several decades of personal experience, is that no more than 15 % of all industrial software projects currently use modeling substantively in their development.

  7. Note that abstraction should not be interpreted as ignoring technological factors in software design, particularly since technological constraints can have a fundamental impact sometimes on the architecture of software. However, it does mean that only the essential aspects of the technology need be considered and that the application rather than the implementation technology should be the foremost concern of the implementers.

  8. A more careful analysis of the core technical skills required for model-based software development reveals that they are, in essence, no different than the core skills required for traditional programming—except that they are based on a different technological foundation. These core skills are, in fact, technology independent.

  9. Contrary to popular impressions, developing software tools requires major research and development investments, since a professional grade tool must not only have the required functionality but it must also be robust, scalable, and highly usable—all of which requires significant effort to achieve. Furthermore, it also requires documentation, training materials and courses, and a support and maintenance team.

  10. Recall that one of the keystones of model-based engineering is to move the task of software design closer to the problem domain and away from the computing technology domain. Consequently, the push towards domain-specific languages is a natural outcome.

  11. In contrast, the primary criterion in the design of programming languages is that they must be unambiguously interpreted by a compiler (such as the rigid syntactic rules that ensure computer-based parsing), a requirement that invariably takes priority over any concerns about readability.

  12. The example of the much reviled and rather cumbersome COBOL syntax, designed naively with a view towards making programs readable by non-programmers, demonstrates the difficulty of getting this aspect right.

  13. In fact, mathematical logic on its own is probably not sufficient for specifying language semantics in domains where quantitative aspects of physical phenomena, such as the duration or resource limitations, play a key role.

  14. In fact, this two-step approach is analogous to the old CFront solution used in early C++ compilers—an approach long abandoned because it resulted in inefficient code.

  15. Of course, similar scalability issues occur in traditional programming language systems as well. However, because these programs are primarily textual rather than based on semantic linkages, these types of sophisticated searches are rarely even considered.

  16. An informal analysis of two of the most widely used commercial model authoring tools revealed that they both had in the order of 300 distinct menu items, many of them interdependent in ways that are not always obvious. Mastering such tools is, surely, a high challenge even for the most competent developers.

  17. I have no formal verifiable proof of this as a general conclusion, but I have been directly involved with the development of at least four major modeling tool projects (commercial and open-source), and it applied in all cases.

References

  1. Antkiewicz, M., Czarnecki, K., et al.: Design space of heterogeneous synchronization. In: Lammel, R., Lammel, R., et al. (eds.) Generative and Transformational Techniques in Software Engineering II. Lecture Notes in Computer Science, vol. 5235, p. 46. Springer, Berlin (2008)

  2. Baber, R.: Software Reflected. North Holland, Amsterdam (1982)

    Google Scholar 

  3. Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)

    Article  MATH  Google Scholar 

  4. Bloomberg, Nokia’s Share Slips as Unbranded Phonemakers, Apple gain Ground, http://www.bloomberg.com/news/2010-11-10/nokia-s-market-share-slips-below-30-as-smaller-vendors-grow-gartner-says.html, November (2010)

  5. Bone, M., Cloutier, R.: The current state of model based system engineering: results from the OMG\(^{\rm TM}\) SysML request for information 2009. In: Proceedings of the 8th Conference on Systems Engineering Research (CSER), March 2010. Hoboken, NJ (2010)

  6. Burj Khalifa, http://en.wikipedia.org/wiki/Burj_Khalifa

  7. Constantine, L.: What Do Users Want? Engineering Usability into Software. Constantine& Lockwood Ltd. (1995). http://www.foruse.com/articles/whatusers.pdf

  8. The Eclipse Foundation. http://www.eclipse.org/

  9. Einstein, A.: Science and happiness (Speech given at the California Institute of Technology). Science 73(1893), 375–381 (1931)

    Article  Google Scholar 

  10. Erlande-Brandenburg, A.: The Cathedral Builders of the Middle Ages (translated from the French by Rosemary Stonehewer). Thames and Hudson, London (2007)

    Google Scholar 

  11. Eveleens, J.L., Verhoef, C.: The Rise and Fall of the Chaos Report Figures. IEEE Software, pp. 30–36 (2010)

  12. France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Proceedings of 2007 IEEE Conference on the Future of Software Engineering (FOSE ‘07), pp. 37–54. IEEE Computer Society (2007)

  13. Glass, R.: The Standish report: does it really describe a software crisis? Commun. ACM 49(8), 15–16 (2006)

    Article  Google Scholar 

  14. Hutchinson, J., Rouncefield, M., Whittle, J.: Model-driven engineering practices in industry. In: Proceedings of 33rd International Conference on Software Engineering (ICSE’11), pp. 633–642. ACM, New York (2011)

  15. Hutchinson, J., Whittle, J., Rouncefield, M., Kristofferson, S.: Empirical assessment of MDE in industry. In: Proceedings 33rd International Conference on Software Engineering (ICSE’11), pp. 471–480. ACM, New York (2011)

  16. International Standards Organization: Information Technology—Common Logic (CL): a framework for a family of logic-based languages, ISO/IEC Standard 24707:2007 (2007). http://standards.iso.org/ittf/licence.html

  17. Lin, C., et al.: Experiences deploying MBSE at NASA JPL. Frontiers in Model-Based Systems Engineering Workshop. Georgia Institute of Technology (2011). (www.pslm.gatech. edu/events/frontiers2011/2.1̱Lin.pdf)

  18. McLuhan, M.: Understanding Media: The Extensions of Man. MIT Press, Cambridge (1994)

    Google Scholar 

  19. Milner, R.: Communication and Concurrency, International Series in Computer Science. Prentice Hall, Upper Saddle River (1989)

    Google Scholar 

  20. Mohagheghi, P., Dehlen, V.: Where is the proof? A review of experiences from applying MDE in industry. In: Schiefendecker, I., Hartman, A. (eds.) Model Driven Architecture—Foundations and Applications (ECMDA-FA 2008), LNCS, vol. 5095, pp. 432–443. Springer, Berlin (2008)

    Google Scholar 

  21. Moody, D.: The ‘Physics’ of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans. Softw. Eng. 35(6), 756–779 (2009)

    Article  Google Scholar 

  22. Neumann, P.: Computer Related Risks. Addison Wesley, Boston (1995)

    Google Scholar 

  23. The Object Management Group: Compilation of SysML RFI—Final Report, OMG Document syseng/2009-06-01 (2009)

  24. The Object Management Group: Meta-Object facility (MOF) 2.0 Query/View/Transformation (QVT), OMG document formal/2011-01-01 (2011)

  25. Czarnecki, K., Helsen, P.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3) (2006)

  26. Syriani, E., Vangheluwe, H.: De-/re-constructing model transformation languages. In: Electronic Communications of the EASST, 29: Graph Transformation and Visual Modeling Techniques (GT-VMT) (2010)

  27. Varro, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: Proceedings of the 7th International Conference on the Unified Modeling Language (UML 2004), pp. 290–304. Lisbon, Portugal (2004)

  28. Jouault, F., Kurtev, I.: Transforming models with ATL. In: Proceedings of Model Transformations in Practice Workshop. MTIP), MoDELS Conference, Montego Bay, Jamaica (2005)

  29. Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented metalanguages. In: Proceedings of the ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, pp. 264–278. Montego Bay, Jamaica (2005)

  30. Oster, C.: Evolving Lockheed Martin’s engineering practices through the creation of a model-centric digital tapestry. In: Frontiers in Model-Based Systems Engineering Workshop, Georgia Institute of Technology (2011). http://www.pslm.gatech.edu/events/frontiers2011/1.5_Oster.pdf

  31. Petriu, D.: Software model-based performance analysis. In: Post-Proceedings of the MDD4DRES Summer School, Aussois 2009. Hermès Science Publications, Paris (2012) (in press)

  32. Selic, B.: Personal reflections on automation. Program Cult Model-Based Softw Eng Autom Softw Eng J 14(3/4) (2008)

  33. Sokolsky, O., Lee, I., Clarke, D.: Schedulability analysis of AADL models. In: Proceedings 20th International Parallel and Distributed Processing Symposium (IPDPS 2006). IEEE (2006)

  34. The Standish Group International. Chaos Summary (2009). http://www1.standishgroup.com/newsroom/chaos~2009.php

  35. United States Department of Labor—Bureau of Labor Statistics: Occupational Outlook Handbook, 2010–2011 Edition. Computer Software Engineers and Computer Programmers

  36. Vitruvius: The Ten Books on Architecture (translated by M. H. Morgan). Dover Publications Inc. New York (1960)

  37. Weigert, T., Weil, F.: Practical experience in using model-driven engineering to develop trustworthy systems. In: Proceedings of IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC’06), pp. 208–217. IEEE Computer Society (2006)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bran Selic.

Additional information

Communicated by Prof. Jon Whittle and Gregor Engels.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Selic, B. What will it take? A view on adoption of model-based methods in practice. Softw Syst Model 11, 513–526 (2012). https://doi.org/10.1007/s10270-012-0261-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-012-0261-0

Keywords

Navigation