In this article we revisit the history of formal methods with a focus on important aspects that contribute to their interdisciplinary role. We consider: the variability of mathematical representation techniques on which the theoretical foundations of formal methods are based; formal methods multidisciplinarity; their capability to serve at a meta-level in providing the semantics of programming languages, specification and modelling languages as well as higher-level and domain-specific formal notations; and, finally, how some of these higher-level and domain-specific notations may be lifted at an interdisciplinary level.Within this historical review, we are inspired by Luís Barbosa's “components as coalgebras” approach in seeing that the duality data-process is underlying all those aspects of formal methods. We also see that such a duality may not only be expressed in universal terms within category theory, but may also be characterised in practical terms and focused applications by two distinct logic paradigms, equational logic for the data and rewriting logic for the process, by two modelling directions, forward process definitions and backward data-driven process transformations, and by the distinction between syntax, defined by the data structures, and semantics, provided by rewrite rules. We use the Maude modelling language to illustrate the application of the data-process duality. In fact, Maude use equational logic to define data types and rewriting logic to express system evolution. Illustrative examples are from the areas of cognitive science and human-computer interaction (HCI).We then define a data-driven model transformation, which we call elaborative mining, which adopts a backward perspective to recover a behaviour that was observed in real life but was not predicted forward by the original model. Finally, we see how the “open source software bazaar”, which is a metaphor for the apparently chaotic open source development process, offers us a big data context to lift the driving process for model transformation from deterministic to statistical.
Read full abstract