Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

2020

Unifying Parsing and Reflective Printing for Fully Disambiguated Grammars

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

Development of a Reinforcement Learning System to Solve the Job Shop Problem

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

Hybrid Intelligent Systems

Autores
Madureira, AM; Abraham, A; Gandhi, N; Varela, ML;

Publicação
Advances in Intelligent Systems and Computing

Abstract

2020

Production scheduling in the context of Industry 4.0: review and trends

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

A Dynamic Logic for QASM Programs

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

Type your matrices for great good: A Haskell library of typed matrices and applications (functional pearl)

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.

  • 1131
  • 4201