Techne Family of Formalisms for the Resolution of Requirements Problems

Between 2010 and 2013, I argued that Techne should be extended into a family of formalisms; this was related to some extent to the idea that Techne is an “abstract” requirements modeling language, something that a reviewer remarked in relation to the original Techne paper here. This led to a lot of discussions and writing with John Mylopoulos and Alex Borgida, but we ultimately never submitted the work for publication; it grew to a format that on its own was too extensive, and we shifted our attention to adaptive systems. Still, a lot of ideas later published on the Requirements Problem for Adaptive Systems (here), originated in the work on the Techne family.

In 2013, I gave a talk on the Techne family of formalisms at a meeting that was organized for the European Research Council-funded project Lucretius, which John Mylopoulos was leading.

Below is a draft that was never completed (the case study is incomplete, the rest is), but shows interesting ideas that were never really revisited by others, even until 2021.

A family of mathematical formalisms, called Techne, is introduced for the definition of requirements problems and the design, comparison, and ranking of their solutions. Starting from a very simple formalism, features of every subsequent formalism are incrementally added, motivated, illustrated, syntax and semantics are de fined, and relationships to past work reviewed. It is argued that, and illustrated how Techne integrates many important ideas from past research on formalisms for modeling and reasoning in requirements engineering. Techne formalisms neither originate in, nor are specific to the engineering of software systems.

By 2013, we expanded the group with Neil Ernst, and the work evolved from a family of languages to a framework for the specification of new requirements modeling languages. By that time, there was a lot of material that was interesting, but our attention shifted to requirements for adaptive systems, and both the papers on the Techne family and Techne framework stayed unpblished.

The paper below proposes the Techne Framework (TF) for the formal specification of Requirements Modeling Languages (RMLs). The paper shows how to use TF (i) to specify a new RML, (ii) to specify an existing RML, (iii) to specify changes to RMLs, (iv) to specify merged RMLs, and (v) to analyze RMLs by analyzing interesting properties of their TF specifications.