Skip to main content

Complexity is the Only Constant: Trends in Computing and Their Relevance to Model Driven Engineering

  • Conference paper
  • First Online:
Graph Transformation (ICGT 2016)

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

Included in the following conference series:

  • 754 Accesses

Abstract

Despite ever increasing computational power, the history of computing is characterized also by a constant battle with complexity. We will briefly review these trends and argue that, due to its focus on abstraction, automation, and analysis, the modeling community is ideally positioned to facilitate the development of future computing systems. More concretely, a few, select, technological and societal trends and developments will be discussed together with the research opportunities they present to researchers interested in modeling.

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

Access this chapter

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

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    So many alternative ones have been proposed [61] that even the study of complexity appears complex.

  2. 2.

    A web-based simulator can be found at http://svtsim.com/moonjs/agc.html.

  3. 3.

    https://www.quora.com/How-much-more-computing-power-does-an-iPhone-6-have- than-Apollo-11-What-is-another-modern-object-I-can-relate-the-same-computing- power-to.

  4. 4.

    http://www.zdnet.com/article/worldwide-cost-of-it-failure-revisited-3-trillion.

  5. 5.

    At least 8 implementations are listed at https://github.com/sit/dht/wiki/faq.

  6. 6.

    http://www.joelonsoftware.com/articles/LeakyAbstractions.html.

  7. 7.

    http://uday.io/2015/10/15/predicting-the-future-and-exponential-growth.

  8. 8.

    http://singularityhub.com/2012/10/15/19th-century-french-artists-predicted- the-world-of-the-future-in-this-series-of-postcards.

  9. 9.

    http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/personalcomputer.

  10. 10.

    https://eclipse.org/Xtext.

  11. 11.

    A discussion of the paper and the controversy it caused can be found at https://en.wikipedia.org/wiki/Growth_in_a_Time_of_Debt.

  12. 12.

    Computers are even said to have “broken science”, https://www.eclipsecon.org/na2016/session/how-computers-have-broken-science-and-how-we-can-fix-it.

  13. 13.

    http://sc15.sueprcomputing.org.

  14. 14.

    http://d2i.indiana.edu/provenance_karma.

  15. 15.

    https://kepler-project.org.

  16. 16.

    http://www.fortiss.org/en/about-us/alle-news/autofocus-3.

  17. 17.

    https://xtuml.org.

  18. 18.

    https://eclipse.org/papyrus.

  19. 19.

    https://www.eclipse.org/papyrus-rt.

References

  1. Ariane 5 flight 501 failure, report by the inquiry board (1996). http://esamultimedia.esa.int/docs/esa-x-1819eng.pdf

  2. Baki, I., Sahraoui, H.: Multi-step learning and adaptive search for learning complex model transformations from examples. ACM Trans. Softw. Eng. Methodol. (2016) (in print)

    Google Scholar 

  3. Barrett, R., Bordeleau, F.: 5 years of ‘Papyrusing’ – migrating industrial development from a proprietary commercial tool to Papyrus (invited presentation). In: Workshop on Open Source Software for Model Driven Engineering (OSS4MDE 2015), pp. 3–12 (2015)

    Google Scholar 

  4. Bogdănaş, D., Roşu, G.: K-Java: a complete semantics of Java. In: ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL 2015), pp. 445–456. ACM, January 2015

    Google Scholar 

  5. Borowiec, S., Lien, T.: AlphaGo beats human Go champ in milestone for artificial intelligence. Los Angeles Times, 12 March 2016

    Google Scholar 

  6. Borras, P., Clement, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: Centaur: the system. In: ACM SIGSoft/SIGPlan Software Engineering Symposium on Practical Software Development Environments (SDE 1987) (1987)

    Google Scholar 

  7. Charette, R.N.: Why software fails. IEEE Spectr. 42(9), 42–49 (2005)

    Article  Google Scholar 

  8. Cheung, A., Kamil, S., Solar-Lezama, A.: Bridging the gap between general-purpose and domain-specific compilers with synthesis. In: Summit oN Advances in Programming Languages (SNAPL 2015) (2015)

    Google Scholar 

  9. Cheung, A., Solar-Lezama, A., Madden, S.: Optimizing database-backed applications with query synthesis. ACM SIGPLAN Not. 48(6), 3–14 (2013)

    Article  Google Scholar 

  10. Christakis, M., Leino, K.R.M., Schulte, W.: Formalizing and verifying a modern build language. In: Jones, C., Pihlajasaari, P., Sun, J. (eds.) FM 2014. LNCS, vol. 8442, pp. 643–657. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  11. Chudler, E.H.: Neuroscience for kids. https://faculty.washington.edu/chudler/what.html

  12. Collberg, C., Proebsting, T.A.: Repeatability in computer systems research. Commun. ACM 59(3), 62–69 (2016)

    Article  Google Scholar 

  13. Cook, B., Launchbury, J., Matthews, J.: Specifying superscalar microprocessors in Hawk. In: Workshop on Formal Techniques for Hardware and Hardware-like Systems (1998)

    Google Scholar 

  14. Potocki de Montalk, J.P.: Computer software in civil aircraft. Cockpit/Avionics Eng. 17(1), 17–23 (1993)

    Google Scholar 

  15. Denning, P.J.: Virtual memory. ACM Comput. Surv. 2(3), 153–189 (1970)

    Article  MATH  Google Scholar 

  16. Duvendack, M., Palmer-Jones, R.W., Reed, W.R.: Replications in economics: a progress report. Econ. Pract. 12(2), 164–191 (2015)

    Google Scholar 

  17. Ellison, C., Roşu, G.: An executable formal semantics of C with applications. In: ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL 2012), pp. 533–544 (2012)

    Google Scholar 

  18. Endresen, J., Carlson, E., Moen, T., Alme, K.-J., Haugen, Ø., Olsen, G.K., Svendsen, A.: Train control language - teaching computers interlocking. In: Computers in Railways XI. WIT Press (2008)

    Google Scholar 

  19. Engels, G., Hausmann, J.H., Heckel, R., Sauer, S.: Dynamic meta modeling: a graphical approach to the operational semantics of behavioral diagrams in UML. In: Evans, A., Caskurlu, B., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 323–337. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  20. Falessi, D., Sabetzadeh, M., Briand, L., Turella, E., Coq, T., Panesar-Walawege, R.K.: Planning for safety standards compliance: a model-based tool-supported approach. IEEE Softw. 29(3), 64–70 (2012)

    Article  Google Scholar 

  21. Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex. MIT Press, Cambridge (2009)

    MATH  Google Scholar 

  22. Geer, D.E.: Children of the magenta. IEEE Secur. Priv. 13(5) (2015)

    Google Scholar 

  23. Glass, R.L.: Sorting out software complexity. Commun. ACM 45(11), 19–21 (2002)

    Article  Google Scholar 

  24. GM: GM chairman and CEO addresses CES. https://www.gm.com/mol/m-2016-Jan-boltev-0106-barra-ces.html, 6 Jan 2016

  25. Grimm, K.: Software technology in an automotive company – major challenges. In: International Conference on Software Engineering (ICSE 2003) (2003)

    Google Scholar 

  26. Gulwani, S., Harris, W., Singh, R.: Spreadsheet data manipulation using examples. Commun. ACM 55, 97–105 (2012)

    Article  Google Scholar 

  27. Hendriks, M., Basten, T., Verriet, J., Brassé, M., Somers, L.: A blueprint for system-level performance modeling of software-intensive embedded systems. Softw. Tools Technol. Transf. 18, 21–40 (2016)

    Article  Google Scholar 

  28. Henriques, P.R., Pereira, M.J.V., Mernik, M., Lenic, M., Gray, J., Wu, H.: Automatic generation of language-based tools using the LISA system. IEE Proc. Softw. 152, 54–69 (2005)

    Article  Google Scholar 

  29. Homer-Dixon, T.: The Ingenuity Gap. Vintage Canada (2001)

    Google Scholar 

  30. Ince, D.C., Hatton, L., Graham-Cumming, J.: The case for open computer programs. Nature 482, 485–488 (2012)

    Article  Google Scholar 

  31. Jeon, J., Qiu, X., Foster, J.S., Solar-Lezama, A.: Jsketch: sketching for Java. In: Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2015) (2015)

    Google Scholar 

  32. Kahani, N., Bagherzadeh, M., Dingel, J., Cordy, J.R.: The problems with Eclipse modeling tools: a topic analysis of Eclipse forums, April 2016 (submitted)

    Google Scholar 

  33. Khalil, A., Dingel, J.: Incremental symbolic execution of evolving state machines. In: ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS 2015) (2015)

    Google Scholar 

  34. Kienle, H.M., Mueller, H.A.: Rigi – an environment for software reverse engineering, exploration, visualization, and redocumentation. Sci. Comput. Prog. 75, 247–263 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  35. Klein, G., Elphinstone, K., Heiser, G., Andronick, J., Cock, D., Derrin, P., Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., Sewell, T., Tuch, H., Winwood, S.: Formal verification of an OS kernel. In: ACM SIGOPS Symposium on Operating Systems Principles (SOSP 2009), pp. 207–220. ACM (2009)

    Google Scholar 

  36. Koksal, A.S., Pu, Y., Srivastava, S., Bodik, R., Piterman, N., Fisher, J.: Synthesis of biological models from mutation experiments. In: ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages (POPL 2013) (2013)

    Google Scholar 

  37. Kwasnikowska, N., Moreau, L., Van den Bussche, J.: A formal account of the Open Provenance Model. ACM Trans. Web 9, 10:1–10:44 (2015)

    Article  Google Scholar 

  38. Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)

    Article  Google Scholar 

  39. Li, B., Sun, X., Leung, H., Zhang, S.: A survey of code-based change impact analysis techniques. Softw. Test. Verification Reliab. 23, 613–646 (2012)

    Article  Google Scholar 

  40. Lim, J., Reps, Th.: TSL: a system for generating abstract interpreters and its application to machine-code analysis. ACM Trans. Program. Lang. Syst. 35(1), 4:1–4:59 (2013)

    Google Scholar 

  41. Lima, M.: Visual complexity website. http://www.visualcomplexity.com/vc

  42. Lima, M.: The Book of Trees: Visualizing Branches of Knowledge Hardcover. Princeton Architectural Press (2014)

    Google Scholar 

  43. Lu, Y., Atlee, J.M., Day, N.A., Niu, J.: Mapping template semantics to SMV. In: IEEE/ACM International Conference on Automated Software Engineering (ASE 2004) (2004)

    Google Scholar 

  44. Lúcio, L., Amrani, M., Dingel, J., Lambers, L., Salay, R., Selim, G.M.K., Syriani, E., Wimmer, M.: Model transformation intents and their properties. Softw. Syst. Model., 1–38 (2014)

    Google Scholar 

  45. Markoff, J.: The iPad in your hand: as fast as a supercomputer of yore. New York Times article based on interview with Dr. Jack Dongarra, 9 May 2011. http://bits.blogs.nytimes.com/2011/05/09/the-ipad-in-your-hand-as-fast-as-a-supercomputer-of-yore

  46. Mayr, A., Plösch, R., Saft, M.: Objective safety compliance checks for source code. In: Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014 (2014)

    Google Scholar 

  47. McCallum, J.C.: Memory prices (1957–2015). http://www.jcmit.com/memoryprice.htm. Accessed Mar 2016

  48. McCandless, D.: Information is beautiful: Million lines of code. http://www.informationisbeautiful.net/visualizations/million-lines-of-code

  49. Milicevic, A., Rayside, D., Yessenov, K., Jackson, D.: Unifying execution of imperative and declarative code. In: International Conference on Software Engineering (ICSE 2011) (2011)

    Google Scholar 

  50. Monroe, D.: When data is not enough. Commun. ACM 58(12), 12–14 (2015)

    Article  Google Scholar 

  51. Moreau, L., Clifford, B., Freire, J., Futrelle, J., Gil, Y., Groth, P., Kwasnikowska, N., Miles, S., Missier, P., Myers, J., Plale, B., Simmhan, Y., Stephan, E., van den Bussche, J.: The open provenance model core specification (v1.1). Future Gener. Comput. Syst. 27(6), 743–756 (2011)

    Article  Google Scholar 

  52. Mosses, P.: Sis: A compiler-generator system using denotational semantics. Technical report 78-4-3, Department of Computer Science, University of Aarhus (1978)

    Google Scholar 

  53. Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  54. Mulligan, D.P., Owens, S., Gray, K.E., Ridge, T., Sewell, P.: Lem: Reusable engineering of real-world semantics. SIGPLAN Not. 49(9), 175–188 (2014)

    Article  Google Scholar 

  55. Nair, S., de la Vara, J.L., Melzi, A., Tagliaferri, G., de-la-Beaujardiere, L., Belmonte, F.: Safety evidence traceability: problem analysis and model. In: Salinesi, C., Weerd, I. (eds.) REFSQ 2014. LNCS, vol. 8396, pp. 309–324. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  56. The President of the United States: Executive order: creating a national strategic computing initiative, 29 July 2015. https://www.whitehouse.gov/the-press-office/2015/07/29/executive-order-creating-national-strategic-computing-initiative

  57. Park, D., Ştefănescu, A., Roşu, G.: KJS: a complete formal semantics of JavaScript. In: SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015), pp. 346–356. ACM, June 2015

    Google Scholar 

  58. Person, S., Yang, G., Rungta, N., Khurshid, S.: Directed incremental symbolic execution. In: ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2011) (2011)

    Google Scholar 

  59. Posse, E.: PapyrusRT: modelling and code generation (invited presentation). In: Workshop on Open Source Software for Model Driven Engineering (OSS4MDE 2015) (2015)

    Google Scholar 

  60. Ren, X., Shah, F., Tip, F., Ryder, B.G., Chesley, O.: Chianti: A tool for change impact analysis of Java programs. In: ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2004) (2004)

    Google Scholar 

  61. Riguzzi, F.: A survey of software metrics. Technical report DEIS-LIA-96-010, Università degli Studi di Bologna (1996)

    Google Scholar 

  62. Roşu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. J. Logic Algebraic Prog. 79(6), 397–434 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  63. RTI: The economic impacts of inadequate infrastructure for software testing. Technical report Planning Report 02–3, National Institute of Standards & Technology (NIST), May 2002

    Google Scholar 

  64. Schuwer, R., van Genuchten, M., Hatton, L.: On the impact of being open. IEEE Softw. 32, 81–83 (2015)

    Article  Google Scholar 

  65. Selic, B.: What will it take? A view on adoption of model-based methods. Softw. Syst. Model. 11, 513–526 (2012)

    Article  Google Scholar 

  66. Selim, G.M.K., Lúcio, L., Cordy, J.R., Dingel, J., Oakes, B.J.: Specification and verification of graph-based model transformation properties. In: Giese, H., König, B. (eds.) ICGT 2014. LNCS, vol. 8571, pp. 113–129. Springer, Heidelberg (2014)

    Google Scholar 

  67. Shapiro, S.: Splitting the difference: the historical necessity of synthesis in software engineering. IEEE Ann. Hist. Comput. 19(1), 20–54 (1997)

    Article  Google Scholar 

  68. Singh, R., Gulwani, S., Solar-Lezama, A.: Automated feedback generation for introductory programming assignments. ACM SIGPLAN Not. 48, 15–26 (2013). ACM

    Article  Google Scholar 

  69. Solar-Lezama, A., Jones, C., Bodik, R.: Sketching concurrent data structures. ACM SIGPLAN Not. 43, 136–148 (2008). ACM

    Article  Google Scholar 

  70. Solar-Lezama, A., Rabbah, R., Bodík, R., Ebcioğlu, K.: Programming by sketching for bit-streaming programs. ACM SIGPLAN Not. 40, 281–294 (2005). ACM

    Article  Google Scholar 

  71. Stanley, B., Gyimesi, K.: Automotive 2025 – industry without borders. Technical report, IBM Institute for Business Value, January 2015. http://www-935.ibm.com/services/us/gbs/thoughtleadership/auto2025

  72. Stoica, I., Morris, R., Karger, D., Kaashoek, F.M., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup service for internet applications. In: ACM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM 2001), pp. 149–160 (2001)

    Google Scholar 

  73. Tainter, J.A.: Complexity, problem solving, and sustainable societies. In: Costanza, R., Segura, O., Martinez-Alier, J. (eds.) Getting Down to Earth: Practical Applications of Ecological Economics. Island Press (1996)

    Google Scholar 

  74. Torlak, E., Bodik, R.: Growing solver-aided languages with Rosette. In: ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, Onward! 2013, pp. 135–152 (2013)

    Google Scholar 

  75. Torlak, E., Bodik, R.: A lightweight symbolic virtual machine for solver-aided host languages. In: ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2014) (2014)

    Google Scholar 

  76. Tufte, E.: Beautiful Evidence. Graphics Press, Cheshire (2006)

    Google Scholar 

  77. den van Brand, M.G.J., van Deursen, A., Heering, J., de Jong, H.A., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF meta-environment: a component-based language development environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol. 2027, p. 365. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  78. W3C Working Group. PROV-Overview: An overview of the PROV family of documents. In: Groth, P., Moreau, L. (eds.) W3C Working Group Note. W3C (2013)

    Google Scholar 

  79. Ward, D.: Avsis system architecture virtual integration program: proof of concept demonstrations. In: INCOSE MBSE Workshop, 27 January 2013

    Google Scholar 

  80. Whittle, J., Hutchinson, J., Rouncefield, M., Heldal, R.: Industrial adoption of model-driven engineering: are the tools reallythe problem? In: ACM/IEEE International Conference on Model-Driven Engineering Languages and Systems (MODELS 2013) (2013)

    Google Scholar 

  81. Yang, G., Dwyer, M., Rothermel, G.: Regression model checking. In: International Conference on Software Maintenance (ICSM 2009), pp. 115–124. IEEE (2009)

    Google Scholar 

  82. Zave, P.: Using lightweight modeling to understand Chord. ACM SIGCOMM Comput. Commun. Rev. 42(2), 50–57 (2012)

    Article  Google Scholar 

  83. Zurowska, K., Dingel, J.: A customizable execution engine for models of embedded systems. In: Roubtsova, E., McNeile, A., Kindler, E., Gerth, C. (eds.) BM-FA 2009-2014. LNCS, vol. 6368, pp. 82–110. Springer, Heidelberg (2015)

    Chapter  Google Scholar 

Download references

Acknowledgment

This work was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC), and by the Ontario Ministry of Research and Innovation (MRI).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Juergen Dingel .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Dingel, J. (2016). Complexity is the Only Constant: Trends in Computing and Their Relevance to Model Driven Engineering. In: Echahed, R., Minas, M. (eds) Graph Transformation. ICGT 2016. Lecture Notes in Computer Science(), vol 9761. Springer, Cham. https://doi.org/10.1007/978-3-319-40530-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-40530-8_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-40529-2

  • Online ISBN: 978-3-319-40530-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics