Establishing a basis for new software engineering principles

Abstract Over the last years, computer applications have moved away from the single-core, local execution that they were originally intended for. Modern applications have to run distributed, in parallel, on heterogeneous environments, share distributed data etc. Not surprisingly the standard ways of programming do not hold anymore and modern software engineers struggle with the growing complexity. New software engineering need to move away from the traditional execution models and reconsider the principles from ground up - focusing on the three primary “building criteria” of modern applications, namely to process information, to adhere to quality and performance criteria, and to follow business incentives. This paper shows that these three criteria are sufficient to specify the full functional behaviour of an application and thereby implicitly its potential instantiations. Since no single algorithm is bound to the specification, transformation between instances, and thus between different execution attributes is easily possible using mathematical transformations.

[1]  Manuel Carro,et al.  Program transformations in the POLCA project , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  Allen Newell,et al.  Report on a general problem-solving program , 1959, IFIP Congress.