2020
Autores
Zhu, ZR; Ko, HS; Zhang, YZ; Martins, P; Saraiva, J; Hu, ZJ;
Publicação
NEW GENERATION COMPUTING
Abstract
Language designers usually need to implement parsers and printers. Despite being two closely related programs, in practice they are often designed separately, and then need to be revised and kept consistent as the language evolves. It will be more convenient if the parser and printer can be unified and developed in a single program, with their consistency guaranteed automatically. Furthermore, in certain scenarios (like showing compiler optimisation results to the programmer), it is desirable to have a more powerful reflective printer that, when an abstract syntax tree corresponding to a piece of program text is modified, can propagate the modification to the program text while preserving layouts, comments, and syntactic sugar. To address these needs, we propose a domain-specific language BiYacc, whose programs denote both a parser and a reflective printer for a fully disambiguated context-free grammar. BiYacc is based on the theory of bidirectional transformations, which helps to guarantee by construction that the generated pairs of parsers and reflective printers are consistent. Handling grammatical ambiguity is particularly challenging: we propose an approach based on generalised parsing and disambiguation filters, which produce all the parse results and (try to) select the only correct one in the parsing direction; the filters are carefully bidirectionalised so that they also work in the printing direction and do not break the consistency between the parsers and reflective printers. We show that BiYacc is capable of facilitating many tasks such as Pombrio and Krishnamurthi's 'resugaring', simple refactoring, and language evolution.
2020
Autores
Cunha, B; Madureira, A; Fonseca, B;
Publicação
Intelligent Systems Design and Applications - 20th International Conference on Intelligent Systems Design and Applications (ISDA 2020) held December 12-15, 2020
Abstract
2020
Autores
Madureira, AM; Abraham, A; Gandhi, N; Varela, ML;
Publicação
Advances in Intelligent Systems and Computing
Abstract
2020
Autores
Parente, M; Figueira, G; Amorim, P; Marques, A;
Publicação
INTERNATIONAL JOURNAL OF PRODUCTION RESEARCH
Abstract
Notwithstanding its disruptive potential, which has been the object of considerable debate, Industry4.0 (I4.0) operationalisation still needs significant study. Specifically, scheduling is a key process that should be explored from this perspective. The purpose of this study is to shed light on the issues regarding scheduling that need to be considered in the new I4.0 framework. To achieve this, a two-stage cascade literature review is performed. The review begins with an analysis regarding the opportunities and challenges brought by I4.0 to the scheduling field, outputting a set of critical scheduling areas (CSA) in which development is essential. The second-stage literature review is performed to understand which steps have been taken so far by previous research in the scheduling field to address those challenges. Thus, a first contribution of this work is to provide insight on the influence and expected changes brought by I4.0 to scheduling, while showcasing relevant research. Another contribution is to identify the most promising future lines of research in this field, in which relevant challenges such as holistic scheduling, or increased flexibility requirements are highlighted. Concurrently, CSA such as decentralised decision-making, and human-robot collaboration display large gaps between current practice and the required technological level of development.
2020
Autores
Tavares, C;
Publicação
DYNAMIC LOGIC: NEW TRENDS AND APPLICATIONS, DALI 2019
Abstract
We define a dynamic logic for QASM (Quantum Assembly) programming language, a language that requires the handling of quantum and probabilistic information. We provide a syntax and a model to this logic, providing a probabilistic semantics to the classical part. We exercise it with the quantum coin toss program.
2020
Autores
Santos, A; Oliveira, JN;
Publicação
Haskell 2020 - Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell, co-located with ICFP 2020
Abstract
We study a simple inductive data type for representing correct-by-construction matrices. Despite its simplicity, it can be used to implement matrix-manipulation algorithms efficiently and safely, performing in some cases faster than existing alternatives even though the algorithms are written in a direct and purely functional style. A rich collection of laws makes it possible to derive and optimise these algorithms using equational reasoning, avoiding the notorious off-by-one indexing errors when fiddling with matrix dimensions. We demonstrate the usefulness of the data type on several examples, and highlight connections to related topics in category theory. © 2020 ACM.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.