This paper raises the idea of giving end users the ability to modify and extend the control flow constructs (if, while, etc.) of the underlying programming language, just as they can modify and extend the library standard implementation of function printf and class String. Pluggable Controllers are means for modular design of control constructors, e.g., if, while, do, switch, and operators such as short circuit conjunction (&&) and the '?.' operator of the Swift programming language. We propose a modular, pluggable controllers based, design of a language. In this design there are control constructors which are core, augmented by a standard library of control constructors, which just like all standard libraries, is extensible and replaceable. The control constructors standard library can then follow a course of evolution that is less coupled with that of the main language, where a library release does not mandate new language release. At the same time, the library could be extended by individuals, corporate and communities to implement more or less idiosyncratic Nano-Patterns. We demonstrate the imposition of pluggable control constructors on Java by employing Lola - a Turing-complete and programming language independent code preprocessor.

Gil, Y., Marcovitch, O., Orru', M. (2017). Pluggable Controllers and Nano-Patterns. In SANER 2017 - 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering (pp.447-451). Institute of Electrical and Electronics Engineers Inc. [10.1109/SANER.2017.7884651].

Pluggable Controllers and Nano-Patterns

Orru', M
2017

Abstract

This paper raises the idea of giving end users the ability to modify and extend the control flow constructs (if, while, etc.) of the underlying programming language, just as they can modify and extend the library standard implementation of function printf and class String. Pluggable Controllers are means for modular design of control constructors, e.g., if, while, do, switch, and operators such as short circuit conjunction (&&) and the '?.' operator of the Swift programming language. We propose a modular, pluggable controllers based, design of a language. In this design there are control constructors which are core, augmented by a standard library of control constructors, which just like all standard libraries, is extensible and replaceable. The control constructors standard library can then follow a course of evolution that is less coupled with that of the main language, where a library release does not mandate new language release. At the same time, the library could be extended by individuals, corporate and communities to implement more or less idiosyncratic Nano-Patterns. We demonstrate the imposition of pluggable control constructors on Java by employing Lola - a Turing-complete and programming language independent code preprocessor.
paper
Pluggable Controllers; Nano pattern;
English
24th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2017 21-24 February
2017
SANER 2017 - 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering
978-150905501-2
2017
447
451
7884651
none
Gil, Y., Marcovitch, O., Orru', M. (2017). Pluggable Controllers and Nano-Patterns. In SANER 2017 - 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering (pp.447-451). Institute of Electrical and Electronics Engineers Inc. [10.1109/SANER.2017.7884651].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/302114
Citazioni
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 0
Social impact