Synthesis from a practical perspective

3Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Based on a very liberal understanding of synthesis as a generic term for techniques that generate programming artifacts from higher-level specifications, the paper discusses several corresponding facets from a practical perspective. The synthesis examples we consider comprise variations of code generation, model synthesis from temporal logic descriptions, and metamodel-based tool generation. Although very different, they can all be regarded as means to “factor out” predefined aspects of the envisioned product or the production environment so that developers/designers can simply focus on the remaining issues. This “factoring out” of what is pre-agreed or predefined is a primary goal of domain-specific languages design, and it is applicable to both modeling and programming languages. Leading synthesis techniques elegantly achieve this factoring by combining forms of substitution/partial evaluation to those steps that can be determined locally, as is typically the case for most parts of code generation, with (heuristic) search for those parts where more global patterns need to be matched, as is the case, e.g., for temporal- logic synthesis. The paper presents our experience with a variety of synthesis approaches and corresponding design and synthesis tools. It also discusses the synergetic potential of their combination, e.g., to control the computational complexity by reducing the underlying search space. This is, in our opinion, a viable path to achieve a fundamentally higher simplicity in IT system design.

Cite

CITATION STYLE

APA

Jörges, S., Lamprecht, A. L., Margaria, T., Naujokat, S., & Steffen, B. (2016). Synthesis from a practical perspective. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9952 LNCS, pp. 282–302). Springer Verlag. https://doi.org/10.1007/978-3-319-47166-2_20

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free