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

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.

[1]  Darrel C. Ince,et al.  The case for open computer programs , 2012, Nature.

[2]  Thomas W. Reps,et al.  TSL: A System for Generating Abstract Interpreters and its Application to Machine-Code Analysis , 2013, TOPL.

[3]  Alvin Cheung,et al.  Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis , 2015, SNAPL.

[4]  Armando Solar-Lezama,et al.  JSketch: sketching for Java , 2015, ESEC/SIGSOFT FSE.

[5]  Arie van Deursen,et al.  The ASF+SDF Meta-environment: A Component-Based Language Development Environment , 2001 .

[6]  Patrick Borras,et al.  Centaur: the system , 1988, Software Development Environments.

[7]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[8]  Pamela Zave,et al.  Using lightweight modeling to understand chord , 2012, CCRV.

[9]  John Launchbury,et al.  Specifying superscalar microprocessors in Hawk , 1998 .

[10]  Xavier Leroy,et al.  Formal verification of a realistic compiler , 2009, CACM.

[11]  Yun Lu,et al.  Mapping template semantics to SMV , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[12]  W. Marsden I and J , 2012 .

[13]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[14]  Tom Ridge,et al.  Lem: reusable engineering of real-world semantics , 2014, ICFP.

[15]  Michiel van Genuchten,et al.  On the Impact of Being Open , 2015, IEEE Software.

[16]  Daniel E. Geer Children of the Magenta , 2015, IEEE Secur. Priv..

[17]  Ernesto Posse PapyrusRT: Modelling and Code Generation (Invited Presentation) , 2015, OSS4MDE@MoDELS.

[18]  Armando Solar-Lezama,et al.  Sketching concurrent data structures , 2008, PLDI '08.

[19]  Grigore Rosu,et al.  K-Java , 2015, POPL.

[20]  Håkan Burden,et al.  Industrial Adoption of Model-Driven Engineering: Are the Tools Really the Problem? , 2013, MoDELS.

[21]  Emina Torlak,et al.  A lightweight symbolic virtual machine for solver-aided host languages , 2014, PLDI.

[22]  Don Monroe,et al.  When data is not enough , 2015, Commun. ACM.

[23]  Mehrdad Sabetzadeh,et al.  Planning for Safety Standards Compliance: A Model-Based Tool-Supported Approach , 2012, IEEE Software.

[24]  Reiko Heckel,et al.  Dynamic Meta Modeling: A Graphical Approach to the Operational Semantics of Behavioral Diagrams in UML , 2000, UML.

[25]  Francis Bordeleau,et al.  5 Years of 'Papyrusing' - Migrating Industrial Development from a Proprietary Commercial Tool to Papyrus (Invited Presentation) , 2015, OSS4MDE@MoDELS.

[26]  Stuart C. Shapiro,et al.  Splitting the Difference: the Historical Necessity of Synthesis in Software Engineering , 2022 .

[27]  Luc Moreau,et al.  PROV-Overview. An Overview of the PROV Family of Documents , 2013 .

[28]  Frank Tip,et al.  Chianti: a tool for change impact analysis of java programs , 2004, OOPSLA.

[29]  Jürgen Dingel,et al.  A Customizable Execution Engine for Models of Embedded Systems , 2015, BM-FA.

[30]  Jürgen Dingel,et al.  The problems with eclipse modeling tools: a topic analysis of eclipse forums , 2016, MoDELS.

[31]  Bran Selic,et al.  What will it take? A view on adoption of model-based methods in practice , 2012, Software & Systems Modeling.

[32]  J. Tainter Complexity, Problem Solving, and Sustainable Societies , 1996 .

[33]  Jose Luis de la Vara,et al.  Safety Evidence Traceability: Problem Analysis and Model , 2014, REFSQ.

[34]  Grigore Rosu,et al.  An overview of the K semantic framework , 2010, J. Log. Algebraic Methods Program..

[35]  Peter D. Mosses Compiler Generation Using Denotational Semantics , 1976, MFCS.

[36]  Gregg Rothermel,et al.  Regression model checking , 2009, 2009 IEEE International Conference on Software Maintenance.

[37]  Emina Torlak,et al.  Growing solver-aided languages with rosette , 2013, Onward!.

[38]  Derek Rayside,et al.  Unifying execution of imperative and declarative code , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[39]  Luc Moreau,et al.  A Formal Account of the Open Provenance Model , 2015, TWEB.

[40]  Robert Costanza,et al.  Getting Down to Earth: Practical Applications Of Ecological Economics , 1996 .

[41]  Jürgen Dingel,et al.  Model transformation intents and their properties , 2016, Software & Systems Modeling.

[42]  Robert L. Glass,et al.  Sorting out software complexity , 2002, CACM.

[43]  Twan Basten,et al.  A blueprint for system-level performance modeling of software-intensive embedded systems , 2016, International Journal on Software Tools for Technology Transfer.

[44]  Armando Solar-Lezama,et al.  Programming by sketching for bit-streaming programs , 2005, PLDI '05.

[45]  Rastislav Bodík,et al.  Synthesis of biological models from mutation experiments , 2013, POPL.

[46]  Sumit Gulwani,et al.  Automated feedback generation for introductory programming assignments , 2013, PLDI.

[47]  Manuel Lima,et al.  The Book of Trees: Visualizing Branches of Knowledge , 2014 .

[48]  Fabrizio Riguzzi A Survey of Software Metrics , 2002 .

[49]  Klaus Grimm Software technology in an automotive company - major challenges , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[50]  T. Homer-Dixon The Ingenuity Gap , 2000 .

[51]  E. Tufte Beautiful Evidence , 2006 .

[52]  Yogesh L. Simmhan,et al.  The Open Provenance Model core specification (v1.1) , 2011, Future Gener. Comput. Syst..

[53]  Matthias Felleisen,et al.  Semantics Engineering with PLT Redex , 2009 .

[54]  Sumit Gulwani,et al.  Spreadsheet data manipulation using examples , 2012, CACM.

[55]  R.N. Charette,et al.  Why software fails [software failure] , 2005, IEEE Spectrum.

[56]  Øystein Haugen,et al.  Train Control Language – Teaching Computers Interlocking , 2008 .

[57]  Sarfraz Khurshid,et al.  Directed incremental symbolic execution , 2011, PLDI '11.

[58]  Hausi A. Müller,et al.  Rigi - An environment for software reverse engineering, exploration, visualization, and redocumentation , 2010, Sci. Comput. Program..

[59]  W. Robert Reed,et al.  Replications in Economics: A Progress Report , 2014 .

[60]  Jürgen Dingel,et al.  Incremental symbolic execution of evolving state machines , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[61]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

[62]  Jürgen Dingel,et al.  Specification and Verification of Graph-Based Model Transformation Properties , 2014, ICGT.

[63]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[64]  J. P. Potocki de Montalk Computer software in civil aircraft , 1993, Microprocess. Microsystems.

[65]  Reinhold Plösch,et al.  Objective safety compliance checks for source code , 2014, ICSE Companion.

[66]  Dennis G. Kafura A survey of software metrics , 1985, ACM '85.

[67]  Hareton K. N. Leung,et al.  A survey of code‐based change impact analysis techniques , 2013, Softw. Test. Verification Reliab..

[68]  Alvin Cheung,et al.  Optimizing database-backed applications with query synthesis , 2013, ACM-SIGPLAN Symposium on Programming Language Design and Implementation.

[69]  Capers Jones,et al.  Why software fails , 1996 .

[70]  Houari A. Sahraoui,et al.  Multi-Step Learning and Adaptive Search for Learning Complex Model Transformations from Examples , 2016, ACM Trans. Softw. Eng. Methodol..

[71]  K. Rustan M. Leino,et al.  Formalizing and Verifying a Modern Build Language , 2014, FM.

[72]  Peter J. Denning,et al.  Virtual memory , 1970, CSUR.

[73]  Christian S. Collberg,et al.  Repeatability in computer systems research , 2016, Commun. ACM.

[74]  Chucky Ellison,et al.  An executable formal semantics of C with applications , 2011, POPL '12.

[75]  Daejun Park,et al.  KJS: a complete formal semantics of JavaScript , 2015, PLDI.

[76]  Maria João Varanda Pereira,et al.  Automatic generation of language-based tools using the LISA system , 2005, IEE Proc. Softw..

[77]  Gregory Tassey,et al.  Prepared for what , 2007 .