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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
So many alternative ones have been proposed [61] that even the study of complexity appears complex.
- 2.
A web-based simulator can be found at http://svtsim.com/moonjs/agc.html.
- 3.
- 4.
- 5.
At least 8 implementations are listed at https://github.com/sit/dht/wiki/faq.
- 6.
- 7.
- 8.
- 9.
- 10.
- 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.
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.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
References
Ariane 5 flight 501 failure, report by the inquiry board (1996). http://esamultimedia.esa.int/docs/esa-x-1819eng.pdf
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)
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)
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
Borowiec, S., Lien, T.: AlphaGo beats human Go champ in milestone for artificial intelligence. Los Angeles Times, 12 March 2016
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)
Charette, R.N.: Why software fails. IEEE Spectr. 42(9), 42–49 (2005)
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)
Cheung, A., Solar-Lezama, A., Madden, S.: Optimizing database-backed applications with query synthesis. ACM SIGPLAN Not. 48(6), 3–14 (2013)
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)
Chudler, E.H.: Neuroscience for kids. https://faculty.washington.edu/chudler/what.html
Collberg, C., Proebsting, T.A.: Repeatability in computer systems research. Commun. ACM 59(3), 62–69 (2016)
Cook, B., Launchbury, J., Matthews, J.: Specifying superscalar microprocessors in Hawk. In: Workshop on Formal Techniques for Hardware and Hardware-like Systems (1998)
Potocki de Montalk, J.P.: Computer software in civil aircraft. Cockpit/Avionics Eng. 17(1), 17–23 (1993)
Denning, P.J.: Virtual memory. ACM Comput. Surv. 2(3), 153–189 (1970)
Duvendack, M., Palmer-Jones, R.W., Reed, W.R.: Replications in economics: a progress report. Econ. Pract. 12(2), 164–191 (2015)
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)
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)
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)
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)
Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex. MIT Press, Cambridge (2009)
Geer, D.E.: Children of the magenta. IEEE Secur. Priv. 13(5) (2015)
Glass, R.L.: Sorting out software complexity. Commun. ACM 45(11), 19–21 (2002)
GM: GM chairman and CEO addresses CES. https://www.gm.com/mol/m-2016-Jan-boltev-0106-barra-ces.html, 6 Jan 2016
Grimm, K.: Software technology in an automotive company – major challenges. In: International Conference on Software Engineering (ICSE 2003) (2003)
Gulwani, S., Harris, W., Singh, R.: Spreadsheet data manipulation using examples. Commun. ACM 55, 97–105 (2012)
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)
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)
Homer-Dixon, T.: The Ingenuity Gap. Vintage Canada (2001)
Ince, D.C., Hatton, L., Graham-Cumming, J.: The case for open computer programs. Nature 482, 485–488 (2012)
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)
Kahani, N., Bagherzadeh, M., Dingel, J., Cordy, J.R.: The problems with Eclipse modeling tools: a topic analysis of Eclipse forums, April 2016 (submitted)
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)
Kienle, H.M., Mueller, H.A.: Rigi – an environment for software reverse engineering, exploration, visualization, and redocumentation. Sci. Comput. Prog. 75, 247–263 (2010)
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)
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)
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)
Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)
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)
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)
Lima, M.: Visual complexity website. http://www.visualcomplexity.com/vc
Lima, M.: The Book of Trees: Visualizing Branches of Knowledge Hardcover. Princeton Architectural Press (2014)
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)
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)
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
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)
McCallum, J.C.: Memory prices (1957–2015). http://www.jcmit.com/memoryprice.htm. Accessed Mar 2016
McCandless, D.: Information is beautiful: Million lines of code. http://www.informationisbeautiful.net/visualizations/million-lines-of-code
Milicevic, A., Rayside, D., Yessenov, K., Jackson, D.: Unifying execution of imperative and declarative code. In: International Conference on Software Engineering (ICSE 2011) (2011)
Monroe, D.: When data is not enough. Commun. ACM 58(12), 12–14 (2015)
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)
Mosses, P.: Sis: A compiler-generator system using denotational semantics. Technical report 78-4-3, Department of Computer Science, University of Aarhus (1978)
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)
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)
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)
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
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
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)
Posse, E.: PapyrusRT: modelling and code generation (invited presentation). In: Workshop on Open Source Software for Model Driven Engineering (OSS4MDE 2015) (2015)
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)
Riguzzi, F.: A survey of software metrics. Technical report DEIS-LIA-96-010, Università degli Studi di Bologna (1996)
Roşu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. J. Logic Algebraic Prog. 79(6), 397–434 (2010)
RTI: The economic impacts of inadequate infrastructure for software testing. Technical report Planning Report 02–3, National Institute of Standards & Technology (NIST), May 2002
Schuwer, R., van Genuchten, M., Hatton, L.: On the impact of being open. IEEE Softw. 32, 81–83 (2015)
Selic, B.: What will it take? A view on adoption of model-based methods. Softw. Syst. Model. 11, 513–526 (2012)
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)
Shapiro, S.: Splitting the difference: the historical necessity of synthesis in software engineering. IEEE Ann. Hist. Comput. 19(1), 20–54 (1997)
Singh, R., Gulwani, S., Solar-Lezama, A.: Automated feedback generation for introductory programming assignments. ACM SIGPLAN Not. 48, 15–26 (2013). ACM
Solar-Lezama, A., Jones, C., Bodik, R.: Sketching concurrent data structures. ACM SIGPLAN Not. 43, 136–148 (2008). ACM
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
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
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)
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)
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)
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)
Tufte, E.: Beautiful Evidence. Graphics Press, Cheshire (2006)
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)
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)
Ward, D.: Avsis system architecture virtual integration program: proof of concept demonstrations. In: INCOSE MBSE Workshop, 27 January 2013
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)
Yang, G., Dwyer, M., Rothermel, G.: Regression model checking. In: International Conference on Software Maintenance (ICSM 2009), pp. 115–124. IEEE (2009)
Zave, P.: Using lightweight modeling to understand Chord. ACM SIGCOMM Comput. Commun. Rev. 42(2), 50–57 (2012)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)