Skip to main content

Design Languages: A Necessary New Generation of Computer Languages

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11244))

Abstract

With the increased demand for so-called “smart” systems, which are required to interact with the physical world in ever more complex ways, we are witnessing a corresponding growth in the complexity of the software that is at the core of such systems. Keeping pace with this rise in complexity is proving to be a challenge for current mainstream programming technologies, whose origins are typically rooted in increasingly outdated computing paradigms that can be traced to some of the earliest applications of computers (e.g., solving numerical problems). This paper first examines some of the salient shortcomings of current mainstream programming technologies; shortcomings that render them unsuitable for addressing modern software applications. This is followed by a discussion of emerging and necessary trends in computer language development, which point to a brand new generation of languages, called design languages. The primary technical requirements for these new languages are identified, and certain pragmatic and socio-economic issues associated with their introduction into industrial practice are reviewed. The paper concludes with a high-level summary of crucial research topics required to realize the full potential of these languages.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    See, for example, the “Smart Anything Everywhere” initiative that is part of the European Commission’s Horizon 2020 Programme (https://smartanythingeverywhere.eu).

  2. 2.

    Author’s emphasis.

  3. 3.

    Mathematical approaches to software are often more focused on reaching qualitative conclusions that abstract out the quantitative aspects. However, in engineering the quantitative is often a fundamental concern.

  4. 4.

    See http://www-users.math.umn.edu/~arnold/disasters/disasters.html.

  5. 5.

    See https://en.wikipedia.org/wiki/Mars_Climate_Orbiter.

  6. 6.

    In contrast to pseudo-concurrency, which can be controlled.

  7. 7.

    While architectural description languages do exist, they are either informal or not formally coupled to the mainstream language programs that realize them.

  8. 8.

    This form is preferred to the more common “domain-specific language” because it more clearly identifies how the language is intended to be used and also avoids possible misinterpretations that the older term might carry in some circles.

  9. 9.

    https://martinfowler.com/bliki/UmlAsSketch.html.

  10. 10.

    See https://en.wikipedia.org/wiki/Flowchart.

  11. 11.

    See https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram.

  12. 12.

    See: https://en.wikipedia.org/wiki/Fourth-generation_programming_language.

  13. 13.

    This can be deduced from the widely used term “syntactic sugar”, which implies that syntax is merely a superfluous adornment that is not needed by “macho” programmers.

  14. 14.

    https://en.wikipedia.org/wiki/Fourth-generation_programming_language.

  15. 15.

    This is not to say that the extension mechanism need necessarily be based on the UML profile mechanism, which is possibly not the best technical solution to language extensibility.

  16. 16.

    https://www.omg.org/spec/category/uml-profile.

  17. 17.

    See for example: https://www.scrumalliance.org/community/articles/2016/october/what-we-really-know-about-successful-projects.

References

  1. Dijkstra, E.: My recollections of operating system design, E.W. Dijkstra Archive at the University of Texas (2001). https://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1303.PDF

  2. Dijkstra, E., Why American Computing Science seems incurable, E.W. Dijkstra Archive at the University of Texas (1995). https://www.cs.utexas.edu/users/EWD/ewd12xx/EWD1209.PDF

  3. Lee, E.A.: Embedded software. In: Zelkowitz, M. (ed.) Advances in Computers, vol. 56. Elsevier Science (2002)

    Google Scholar 

  4. Brooks, F.: No silver bullet – essence and accident in software engineering. IEEE Comput. 20(4), 91–94 (1987)

    Google Scholar 

  5. Lee, L.: The Day the Phones Stopped, Plume (1992)

    Google Scholar 

  6. McConnell, S.: Code Complete: A Practical Handbook of Software Construction, 2nd edn. Microsoft Press (2004)

    Google Scholar 

  7. Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)

    Article  MathSciNet  Google Scholar 

  8. 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 2006), pp. 208–217. IEEE Computer Society (2006)

    Google Scholar 

  9. Corcoran, D.: The good, the bad and the ugly: experiences with model driven development in large scale projects at Ericsson. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, p. 2. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13595-8_2

    Chapter  Google Scholar 

  10. Hutchinson, J., Rouncefield, M., Whittle, J.: Model-driven engineering practices in industry. In: Taylor, R., et al. (eds.) Proceedings of the 33rd International Conference on Software Engineering (ICSE 2011), pp. 633–642. Association for Computing Machinery (ACM) (2011)

    Google Scholar 

  11. Moody, D., van Hillegersberg, J.: Evaluating the visual syntax of uml: an analysis of the cognitive effectiveness of the uml family of diagrams. In: Gašević, D., Lämmel, R., Van Wyk, E. (eds.) SLE 2008. LNCS, vol. 5452, pp. 16–34. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00434-6_3

    Chapter  Google Scholar 

  12. Object Management Group (OMG): Semantics of an Executable Subset for Executable UML Models, OMG document formal/17-07-02, OMG (2017)

    Google Scholar 

  13. International Telecommunications Union (ITU): Z.101: Specification and Description Language – Basic SDL-2010, ITU Recommendation Z.101, ITU (2010)

    Google Scholar 

  14. SAE International, Architecture Analysis and Design Language (AADL): Specification AS5506B (2012). https://www.sae.org/standards/content/as5506b/

  15. Mathworks, Inc., Simulink (2018). https://www.mathworks.com/products/simulink.html

  16. Object Management Group (OMG), UML Profile for MARTE, OMG document formal/11-06-02 (2011). https://www.omg.org/spec/MARTE/1.1/PDF

  17. Selic, B.: What will it take? a view on adoption of model-based methods in practice. J. Syst. Model. 11(4), 513–526 (2012)

    Article  Google Scholar 

  18. LNCS Homepage. http://www.springer.com/lncs. Accessed 21 Nov 2016

Download references

Acknowledgement

The author would like to thank Dr. Manfred Broy for helpful suggestions on how the text could be improved.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bran Selić .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Selić, B. (2018). Design Languages: A Necessary New Generation of Computer Languages. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Modeling. ISoLA 2018. Lecture Notes in Computer Science(), vol 11244. Springer, Cham. https://doi.org/10.1007/978-3-030-03418-4_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-03418-4_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-03417-7

  • Online ISBN: 978-3-030-03418-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics