Leveraging Applications of Formal Methods, Verification and Validation. Modeling: 8th International Symposium, ISoLA 2018, Limassol, Cyprus, November 5-9, 2018, Proceedings, Part I

The article provides an introduction to the track: Towards a Unified View of Modeling and Programming, organized by the authors of this paper as part of ISoLA 2018: the 8th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation. A total of 19 researchers presented their views on the two questions: what are the commonalities between modeling and programming languages?, and should we strive towards a unified view of modeling and programming? The idea behind the track, which is a continuation of a similar track at ISoLA 2016, emerged as a result of experiences gathered in the three fields: formal methods, model-based software engineering, and programming languages, and from the observation that these technologies share a large common part, to the extent where one may ask, does the following equation hold: modeling = programming

[1]  Klaus Havelund,et al.  Rule-based runtime verification revisited , 2015, International Journal on Software Tools for Technology Transfer.

[2]  John Maloney,et al.  Alice, Greenfoot, and Scratch -- A Discussion , 2010, TOCE.

[3]  Lone Leth Thomsen,et al.  Concrete and Abstract Cost Semantics for Spreadsheets , 2018 .

[4]  Michael R. Lowry,et al.  Formal Analysis of a Space-Craft Controller Using SPIN , 2001, IEEE Trans. Software Eng..

[5]  Tiziana Margaria,et al.  An Environment for the Creation of Intelligent Network Services , 1995 .

[6]  Richard A. Platek The European Formal Definition of Ada. A U.S. Perspective , 1988 .

[7]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[8]  Miro Samek,et al.  Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems , 2008 .

[9]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[10]  N. Falconer Structured Programming , 1973, Nature.

[11]  Markus Völter,et al.  Fusing Modeling and Programming into Language-Oriented Programming - Our Experiences with MPS , 2018, ISoLA.

[12]  Kasper Østerbye Associations as a Language Construct , 1999, TOOLS.

[13]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[14]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .

[15]  Ole Lehrmann Madsen Towards integration of state machines and object-oriented languages , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[16]  Éric Tanter,et al.  First-class state change in plaid , 2011, OOPSLA '11.

[17]  Bernhard Steffen,et al.  On the Difficulty of Drawing the Line , 2018, ISoLA.

[18]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[19]  Tiziana Margaria,et al.  Incremental Formalization: A Key to Industrial Success , 1996, Softw. Concepts Tools.

[20]  James E. Rumbaugh,et al.  Relations as semantic constructs in an object-oriented language , 1987, OOPSLA '87.

[21]  Tiziana Margaria,et al.  Module Connguration by Minimal Model Construction , 1993 .

[22]  Peter Sestoft,et al.  Deriving a lazy abstract machine , 1997, Journal of Functional Programming.

[23]  Klaus Havelund,et al.  Data Automata in Scala , 2014, 2014 Theoretical Aspects of Software Engineering Conference.

[24]  David Wolber,et al.  App inventor and real-world motivation , 2011, SIGCSE.

[25]  Dines Bjørner Formalization of Data Base Models , 1979, Abstract Software Specifications.

[26]  Peter Sestoft,et al.  Analysis and efficient implementation of functional programs , 1991 .

[27]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[28]  Bent Bruun Kristensen,et al.  Classification of Actions or Inheritance also for Methods , 1987 .

[29]  Andreas Prinz,et al.  Modelling of systems for real , 2016, 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[30]  Bedir Tekinerdogan,et al.  Experiences in teaching a graduate course on model-driven software development , 2011, Comput. Sci. Educ..

[31]  D. Bjoerner,et al.  Towards a Formal Description of Ada , 1980, Lecture Notes in Computer Science.

[32]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[33]  Klaus Havelund,et al.  Monitoring with Data Automata , 2014, ISoLA.

[34]  Guy E. Blelloch,et al.  Programming parallel algorithms , 1996, CACM.

[35]  Peter Gorm Larsen,et al.  Validated Designs for Object-oriented Systems , 2004 .

[36]  Klaus Havelund,et al.  nfer - A Notation and System for Inferring Event Stream Abstractions , 2016, RV.

[37]  Flemming Nielson,et al.  Semantics with Applications: An Appetizer , 2007, Undergraduate Topics in Computer Science.

[38]  Ole Lehrmann Madsen,et al.  Virtual classes: a powerful mechanism in object-oriented programming , 1989, OOPSLA 1989.

[39]  Dines Bjørner,et al.  Dansk Datamatik Center , 2010, History of Nordic Computing.

[40]  Peter Sestoft Spreadsheet Implementation Technology: Basics and Extensions , 2014 .

[41]  Ole Lehrmann Madsen,et al.  Building Safe Concurrency Abstractions , 2014, Concurrent Objects and Beyond.

[42]  Peter Naur,et al.  Programming as theory building , 1985 .

[43]  Paul Hudak,et al.  An Experiment in Software Prototyping Productivity , 1994 .

[44]  Klaus Havelund,et al.  Closing the Gap Between Specification and Programming: VDM++ and Scala , 2011, HOWARD-60.

[45]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[46]  Manfred Broy,et al.  Towards a Unified View of Modeling and Programming , 2016, ISoLA.

[47]  John Launchbury,et al.  A natural semantics for lazy evaluation , 1993, POPL '93.

[48]  Peter Naur,et al.  Formalization in program development , 1982, BIT.

[49]  Cliff B. Jones,et al.  A Formal Definition of Algol 60 as Described in the 1975 Modified Report , 1978, The Vienna Development Method: The Meta-Language.

[50]  Peter Sestoft,et al.  Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs , 2018, PADL.

[51]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[52]  Klaus Havelund,et al.  Modeling and Monitoring of Hierarchical State Machines in Scala , 2017, SERENE.

[53]  Andrew P. Black,et al.  Object-oriented programming: Some history, and challenges for the next fifty years , 2013, Inf. Comput..

[54]  Tiziana Margaria,et al.  Domain-Specific Design of Patient Classification in Cancer-Related Cachexia Research , 2018, 2018 IEEE/ACM 6th International FME Workshop on Formal Methods in Software Engineering (FormaliSE).

[55]  Harold Abelson,et al.  App Inventor - Create Your Own Android Apps , 2011 .

[56]  William R. Cook,et al.  Inheritance is not subtyping , 1989, POPL '90.

[57]  Ole Lehrmann Madsen,et al.  What Object-Oriented Programming May Be - and What It Does Not Have To Be , 1988, ECOOP.

[58]  Howard Barringer,et al.  TraceContract: A Scala DSL for Trace Analysis , 2011, FM.

[59]  Bent Bruun Kristensen,et al.  The when, why and why not of the BETA programming language , 2007, HOPL.

[60]  Jonathan Aldrich,et al.  Typestate-oriented programming , 2009, OOPSLA Companion.

[61]  Birger Møller-Pedersen,et al.  Combined modelling and programming support for composite states and extensible state machines , 2015, 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[62]  Harald Ganzinger,et al.  Programs as Data Objects , 1986, Lecture Notes in Computer Science.

[63]  Todd D. Millstein,et al.  An Extensible State Machine Pattern for Interactive Applications , 2008, ECOOP.

[64]  Mads Tofte Compiler Generators , 1990, EATCS.

[65]  O. J. Dahl,et al.  Simula Begin , 1979 .

[66]  Andrew P. Black,et al.  The Grace Programming Language Draft Specification Version 0.3.1261 , 2013 .

[67]  Manfred Broy,et al.  Towards a Unified View of Modeling and Programming (Track Summary) , 2016, ISoLA.