25 Search Results for "Leit�o, Ant�nio Menezes"


Document
Extending PyJL - Transpiling Python Libraries to Julia

Authors: Miguel Marcelino and António Menezes Leitão

Published in: OASIcs, Volume 104, 11th Symposium on Languages, Applications and Technologies (SLATE 2022)


Abstract
Many high-level programming languages have emerged in recent years. Julia is one of these languages, claiming to offer the speed of C, the macro capabilities of Lisp, and the user-friendliness of Python. Julia’s syntax is one of its major strengths, making it ideal for scientific and numerical computing. Furthermore, Julia’s high-performance on modern hardware makes it an appealing alternative to Python. However, Python has a considerable advantage over Julia: its extensive library set. There have been efforts to make Python libraries available to Julia either through Foreign Function Interfaces (FFI’s), or through manual translation, but both have their tradeoffs: FFI’s do not take advantage of Julia’s performance, as they call Python’s Virtual Machine, and manual translation is demanding and time-consuming. To address these issues and bridge the gap between the two languages, we propose PyJL, a transpilation tool that converts Python source-code to human-readable Julia source-code. Although the development of PyJL is still at an early stage, our preliminary results reveal that the generated code follows the pragmatics of Julia and is capable of high performance.

Cite as

Miguel Marcelino and António Menezes Leitão. Extending PyJL - Transpiling Python Libraries to Julia. In 11th Symposium on Languages, Applications and Technologies (SLATE 2022). Open Access Series in Informatics (OASIcs), Volume 104, pp. 6:1-6:14, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2022)


Copy BibTex To Clipboard

@InProceedings{marcelino_et_al:OASIcs.SLATE.2022.6,
  author =	{Marcelino, Miguel and Leit\~{a}o, Ant\'{o}nio Menezes},
  title =	{{Extending PyJL - Transpiling Python Libraries to Julia}},
  booktitle =	{11th Symposium on Languages, Applications and Technologies (SLATE 2022)},
  pages =	{6:1--6:14},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-245-7},
  ISSN =	{2190-6807},
  year =	{2022},
  volume =	{104},
  editor =	{Cordeiro, Jo\~{a}o and Pereira, Maria Jo\~{a}o and Rodrigues, Nuno F. and Pais, Sebasti\~{a}o},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2022.6},
  URN =		{urn:nbn:de:0030-drops-167525},
  doi =		{10.4230/OASIcs.SLATE.2022.6},
  annote =	{Keywords: Source-to-Source Compiler, Automatic Transpilation, Library Translation, Python, Julia}
}
Document
Metaobject Protocols for Julia

Authors: Marcelo Santos and António Menezes Leitão

Published in: OASIcs, Volume 104, 11th Symposium on Languages, Applications and Technologies (SLATE 2022)


Abstract
Metaobject Protocols enable programmers to extend programming languages without the need to understand the lower level details of their implementation. However, designing these protocols comes with two challenges: allow programmers to limit their concerns to higher level concepts and minimize performance penalties in programs. In this work, we propose metaobject protocol for the programming language Julia. Julia’s object system is very limited, when compared to languages following the Object-Oriented paradigm. However, Julia’s compilation approach allows for a considerable degree of code optimization through the exploration of runtime type information. Through the usage of Julia’s run-time optimizations, we propose a metaobject protocol that combines user-extensibility with limited performance penalties. This paper focuses on the development of a multiple inheritance method dispatch and method combination mechanisms with zero runtime overhead.

Cite as

Marcelo Santos and António Menezes Leitão. Metaobject Protocols for Julia. In 11th Symposium on Languages, Applications and Technologies (SLATE 2022). Open Access Series in Informatics (OASIcs), Volume 104, pp. 13:1-13:15, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2022)


Copy BibTex To Clipboard

@InProceedings{santos_et_al:OASIcs.SLATE.2022.13,
  author =	{Santos, Marcelo and Leit\~{a}o, Ant\'{o}nio Menezes},
  title =	{{Metaobject Protocols for Julia}},
  booktitle =	{11th Symposium on Languages, Applications and Technologies (SLATE 2022)},
  pages =	{13:1--13:15},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-245-7},
  ISSN =	{2190-6807},
  year =	{2022},
  volume =	{104},
  editor =	{Cordeiro, Jo\~{a}o and Pereira, Maria Jo\~{a}o and Rodrigues, Nuno F. and Pais, Sebasti\~{a}o},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2022.13},
  URN =		{urn:nbn:de:0030-drops-167597},
  doi =		{10.4230/OASIcs.SLATE.2022.13},
  annote =	{Keywords: Julia, Metaobject Protocols, Object-Oriented Programming, Performance}
}
Document
Complete Volume
OASIcs, Volume 62, SLATE'18, Complete Volume

Authors: Pedro Rangel Henriques, José Paulo Leal, António Leitão, and Xavier Gómez Guinovart

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
OASIcs, Volume 62, SLATE'18, Complete Volume

Cite as

7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@Proceedings{henriques_et_al:OASIcs.SLATE.2018,
  title =	{{OASIcs, Volume 62, SLATE'18, Complete Volume}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018},
  URN =		{urn:nbn:de:0030-drops-92790},
  doi =		{10.4230/OASIcs.SLATE.2018},
  annote =	{Keywords: Computing methodologies, Natural language processing, Software and its engineering, Compilers, Information systems, World Wide Web}
}
Document
Front Matter
Front Matter, Table of Contents, Preface, Conference Organization

Authors: Pedro Rangel Henriques, José Paulo Leal, António Menezes Leitão, and Xavier Gómez Guinovart

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
Front Matter, Table of Contents, Preface, Conference Organization

Cite as

7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 0:i-0:xiv, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{henriques_et_al:OASIcs.SLATE.2018.0,
  author =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  title =	{{Front Matter, Table of Contents, Preface, Conference Organization}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{0:i--0:xiv},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.0},
  URN =		{urn:nbn:de:0030-drops-92582},
  doi =		{10.4230/OASIcs.SLATE.2018.0},
  annote =	{Keywords: Front Matter, Table of Contents, Preface, Conference Organization}
}
Document
Kaang: A RESTful API Generator for the Modern Web

Authors: Ricardo Queirós

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
Technology is constantly evolving, as a result, users have become more demanding and the applications more complex. In the realm of Web development, JavaScript is growing in a surprising way, already leaving the boundaries of the browser, mainly due to the advent of Node.js. In fact, JavaScript is constantly being reinvented and, from the ES2015 version, began to include the OO concepts typically found in other programming languages. With Web access being mostly made by mobile devices, developers face now performance challenges and need to perform a plethora of tasks that weren't necessary a decade ago, such as managing dependencies, bundling files, minifying code, optimizing images and others. Many of these tasks can be achieved by using the right tools for the job. However, developers not only have to know those tools, but they also must know how to access and operate them. This process can be tedious, confusing, time-consuming and error-prone. In this paper, we present Kaang, an automatic generator of RESTFul Web applications. The ultimate goal of Kaang is to minimize the impact of creating a RESTFul service by automating all its workflow (e.g., files structuring, boilerplate code generation, dependencies management, and task building). This kind of generators will benefit two types of users: will help novice developers to decrease their learning curve while facing the new frameworks and libraries commonly found in the modern Web and speed up the work of expert developers avoiding all the repetitive and bureaucratic work. At the same time, Kaang promotes the good development principles by adding automatic testing and documentation generation. For this accomplishment, Kaang generates the main API content based on the user's input and a set of templates which will help developers to manage and test routes, define resources, store data models and others. In order to provide an addition level of confidence to the generator's end-users, the generator will be integrated on Travis CI and published on both the npmjs and Yeoman registries.

Cite as

Ricardo Queirós. Kaang: A RESTful API Generator for the Modern Web. In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 1:1-1:15, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{queiros:OASIcs.SLATE.2018.1,
  author =	{Queir\'{o}s, Ricardo},
  title =	{{Kaang: A RESTful API Generator for the Modern Web}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{1:1--1:15},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.1},
  URN =		{urn:nbn:de:0030-drops-92592},
  doi =		{10.4230/OASIcs.SLATE.2018.1},
  annote =	{Keywords: web development, generators, web tooling, javascript}
}
Document
Short Paper
LearnJS - A JavaScript Learning Playground (Short Paper)

Authors: Ricardo Queirós

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
The JavaScript ecosystem is evolving dramatically. Nowadays, the language is no longer confined to the boundaries of the browser and is now running in both sides of the Web stack. At the same time, JavaScript it's starting to play also an important role in desktop and mobile applications development. These facts are leading companies to massively adopt JavaScript in their Web/mobile projects and schools to augment the language spectrum among their courses curricula. Several platforms appeared in recent years aiming to foster the learning of the JavaScript language. Those platforms are mainly characterized with sophisticated UI which allow users to learn JavaScript in a playful and interactive way. Despite its apparent success, these environments are not suitable to be integrated in existent educational platforms. Beyond these interoperability issues, most of these platforms are rigid not allowing teachers to contribute with new exercises, organize the existent exercises in more suitable and modular activities to be deployed in their courses, neither keep track of student's progress. This paper presents LearnJS as a simple and flexible platform to teach and learn JavaScript. In this platform, instructors can contribute with new exercises and combine them with expositive resources (e.g videos) to define specific course activities. These activities can be gamified with the injection of dynamic attributes to reward the most successful attempts. Finally, instructors can deploy activities in their educational platforms. On the other hand, learners can solve exercises and receive immediate feedback on their solutions through static and dynamic analyzers. Since we are in the early stages of implementation, the paper focus on the presentation of the LearnJS architecture, their main components and their data and integration models. Nevertheless, a prototype of the platform is available in a GitHub repository.

Cite as

Ricardo Queirós. LearnJS - A JavaScript Learning Playground (Short Paper). In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 2:1-2:9, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{queiros:OASIcs.SLATE.2018.2,
  author =	{Queir\'{o}s, Ricardo},
  title =	{{LearnJS - A JavaScript Learning Playground}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{2:1--2:9},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.2},
  URN =		{urn:nbn:de:0030-drops-92605},
  doi =		{10.4230/OASIcs.SLATE.2018.2},
  annote =	{Keywords: Web development, programming, e-learning, automatic evaluation}
}
Document
Short Paper
Moozz: Assessment of Quizzes in Mooshak 2.0 (Short Paper)

Authors: Helder Correia, José Paulo Leal, and José Carlos Paiva

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
Quizzes are a widely used form of assessment, supported in many e-learning systems. Mooshak is a web system which supports automated assessment in computer science. This paper presents Moozz, a quiz assessment environment for Mooshak 2.0, with its own XML definition for describing quizzes. This definition is used for: interoperability with different e-learning systems, generating HTML-based forms, storing student answers, marking final submissions and generating feedback. Furthermore, Moozz also includes an authoring tool for creating quizzes. The paper describes Moozz, its quiz definition language and architecture, and details its implementation.

Cite as

Helder Correia, José Paulo Leal, and José Carlos Paiva. Moozz: Assessment of Quizzes in Mooshak 2.0 (Short Paper). In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 3:1-3:8, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{correia_et_al:OASIcs.SLATE.2018.3,
  author =	{Correia, Helder and Leal, Jos\'{e} Paulo and Paiva, Jos\'{e} Carlos},
  title =	{{Moozz: Assessment of Quizzes in Mooshak 2.0}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{3:1--3:8},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.3},
  URN =		{urn:nbn:de:0030-drops-92615},
  doi =		{10.4230/OASIcs.SLATE.2018.3},
  annote =	{Keywords: quiz, automated assessment, authoring, XML, feedback, e-learning}
}
Document
Short Paper
Raccode: An Eclipse Plugin for Assessment of Programming Exercises (Short Paper)

Authors: André Silva, José Paulo Leal, and José Carlos Paiva

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
IDEs are environments specialized in support during the development of programs. They contain several utilities to code, run, debug, and deploy programs quickly. However, they do not provide the automatic assessment of programming exercises, which is required in both learning and competitive programming environment. Therefore, IDEs are often underestimated in these contexts and replaced by basic code editors. Yet, IDEs have unique features which are essential for programmers, such as the debugger or the package explorer. This paper presents Raccode, a plugin for assessment of programming exercises in Eclipse. This plugin integrates with Mooshak to combine the diverse capabilities of an IDE, like Eclipse, with the automatic evaluation of exercises, clarification requests, printouts, balloons, and rankings. It can be used both in competitive and learning environments. The paper describes Raccode, its concept, architecture and design.

Cite as

André Silva, José Paulo Leal, and José Carlos Paiva. Raccode: An Eclipse Plugin for Assessment of Programming Exercises (Short Paper). In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 4:1-4:8, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{silva_et_al:OASIcs.SLATE.2018.4,
  author =	{Silva, Andr\'{e} and Leal, Jos\'{e} Paulo and Paiva, Jos\'{e} Carlos},
  title =	{{Raccode: An Eclipse Plugin for Assessment of Programming Exercises}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{4:1--4:8},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.4},
  URN =		{urn:nbn:de:0030-drops-92621},
  doi =		{10.4230/OASIcs.SLATE.2018.4},
  annote =	{Keywords: automatic evaluation, programming, IDE, learning, competition}
}
Document
eOS: The Exercise Operating System

Authors: Rui Mendes and José João Almeida

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
We present an architecture for a system for creating, adapting and evaluating programming exercises for students. The system is capable of generating exercise skeletons, automatically creating inputs and outputs, provide a way of creating a large number of exercises programmatically and allowing students to solve them while giving them feedback. Furthermore, it allows the creation of special comparators that can check whether the output of a given submission is equivalent to the expected one or simply check whether the above mentioned output corresponds to a correct solution.

Cite as

Rui Mendes and José João Almeida. eOS: The Exercise Operating System. In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 5:1-5:13, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{mendes_et_al:OASIcs.SLATE.2018.5,
  author =	{Mendes, Rui and Almeida, Jos\'{e} Jo\~{a}o},
  title =	{{eOS: The Exercise Operating System}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{5:1--5:13},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.5},
  URN =		{urn:nbn:de:0030-drops-92630},
  doi =		{10.4230/OASIcs.SLATE.2018.5},
  annote =	{Keywords: domain specific language, code generation, automatic evaluation, testing}
}
Document
Construction of a Pushdown Automaton Accepting a Postfix Notation of a Tree Language Given by a Regular Tree Expression

Authors: Tomás Pecka, Jan Trávnícek, Radomír Polách, and Jan Janousek

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
Regular tree expressions are a formalism for describing regular tree languages, which can be accepted by a finite tree automaton as a standard model of computation. It was proved that the class of regular tree languages is a proper subclass of tree languages whose linear notations can be accepted by deterministic string pushdown automata. In this paper, we present a new algorithm for transforming regular tree expressions to equivalent real-time height-deterministic pushdown automata that accept the trees in their postfix notation.

Cite as

Tomás Pecka, Jan Trávnícek, Radomír Polách, and Jan Janousek. Construction of a Pushdown Automaton Accepting a Postfix Notation of a Tree Language Given by a Regular Tree Expression. In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 6:1-6:12, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{pecka_et_al:OASIcs.SLATE.2018.6,
  author =	{Pecka, Tom\'{a}s and Tr\'{a}vn{\'\i}cek, Jan and Pol\'{a}ch, Radom{\'\i}r and Janousek, Jan},
  title =	{{Construction of a Pushdown Automaton Accepting a Postfix Notation of a Tree Language Given by a Regular Tree Expression}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{6:1--6:12},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.6},
  URN =		{urn:nbn:de:0030-drops-92649},
  doi =		{10.4230/OASIcs.SLATE.2018.6},
  annote =	{Keywords: tree, regular tree expression, pushdown automaton}
}
Document
Context-Oriented Algorithmic Design

Authors: Bruno Ferreira and António Menezes Leitão

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
Currently, algorithmic approaches are being introduced in several areas of expertise, namely Architecture. Algorithmic Design (AD) is an approach for architecture that takes advantage of algorithms to produce complex designs, to simplify the exploration of variations, or to mechanize tasks, including those related to analysis and optimization of designs. However, architects might need different models of the same design for different kinds of analysis, which tempts them to extend the same code base for different purposes, typically making the code brittle and hard to understand. In this paper, we propose to extend AD with Context-Oriented Programming (COP), a programming paradigm based on context that dynamically changes the behavior of the code. To this end, we propose a COP library and we explore its combination with an AD tool. Finally, we implement two case studies with our context-oriented approach, and discuss their advantages and disadvantages when compared to the traditional AD approach.

Cite as

Bruno Ferreira and António Menezes Leitão. Context-Oriented Algorithmic Design. In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 7:1-7:14, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{ferreira_et_al:OASIcs.SLATE.2018.7,
  author =	{Ferreira, Bruno and Leit\~{a}o, Ant\'{o}nio Menezes},
  title =	{{Context-Oriented Algorithmic Design}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{7:1--7:14},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.7},
  URN =		{urn:nbn:de:0030-drops-92658},
  doi =		{10.4230/OASIcs.SLATE.2018.7},
  annote =	{Keywords: context-oriented programming, algorithmic design, Python}
}
Document
Short Paper
Abcl: Abc music notation with rich chord support (Short Paper)

Authors: José João Almeida

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
It is well known the relevance of accompany chords but there is a lack of tools capable of automatically generating sound from them. In this paper we describe a domain specific language (Abcl) aimed to be a prototyping environment for new experimental music operators. Currently Abcl: (1) adds support for accompany chords (chordmode, instruments, chord-lines); (2) adds clearer support for percussion (drums, drum-machine) (3) adds a support for variables and functions. Abcl tool is a syntactic-preprocessor that produces Abc. The DSLToolkit, used to create Abcl, is also briefly presented and discussed in the paper.

Cite as

José João Almeida. Abcl: Abc music notation with rich chord support (Short Paper). In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 8:1-8:8, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{almeida:OASIcs.SLATE.2018.8,
  author =	{Almeida, Jos\'{e} Jo\~{a}o},
  title =	{{Abcl: Abc music notation with rich chord support}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{8:1--8:8},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.8},
  URN =		{urn:nbn:de:0030-drops-92662},
  doi =		{10.4230/OASIcs.SLATE.2018.8},
  annote =	{Keywords: music, Abc music notation, domain specific language}
}
Document
Short Paper
Asura: A Game-Based Assessment Environment for Mooshak (Short Paper)

Authors: José Carlos Paiva and José Paulo Leal

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
Learning to program is hard. Students need to remain motivated to keep practicing and to overcome their difficulties. Several approaches have been proposed to foster students' motivation. As most people enjoy playing games of some kind and play on a regular basis, the use of games is one of the most widely spread approaches. However, taking full advantage of games to teach specific concepts of programming requires much effort. This paper presents Asura, a game-based assessment environment built on top of Mooshak that challenges students to code Software Agents (SAs) to play a game, allowing them to test the SAs against each others' SAs and watch a movie of the test. Once the challenge development stage ends, teachers are able to organize game-like tournaments among SAs. One of the key features of Asura is that it provides a means to reduce the required effort of building game-based challenges up to that of creating traditional programming exercises.

Cite as

José Carlos Paiva and José Paulo Leal. Asura: A Game-Based Assessment Environment for Mooshak (Short Paper). In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 9:1-9:9, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{paiva_et_al:OASIcs.SLATE.2018.9,
  author =	{Paiva, Jos\'{e} Carlos and Leal, Jos\'{e} Paulo},
  title =	{{Asura: A Game-Based Assessment Environment for Mooshak}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{9:1--9:9},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.9},
  URN =		{urn:nbn:de:0030-drops-92677},
  doi =		{10.4230/OASIcs.SLATE.2018.9},
  annote =	{Keywords: games, programming, learning, graphical feedback, tournament}
}
Document
Short Paper
CaVa: Virtual Learning Spaces Formal Specification (Short Paper)

Authors: Ricardo Giuliani Martini and Pedro Rangel Henriques

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
In the context of Cultural Heritage, memory institutions build exhibition rooms to expose their assets and disseminate knowledge through these learning spaces. CaVa project aims at facilitating the process of learning spaces construction on the web to implement virtual museums. This paper presents CaVa^DSL, an external Domain-Specific Language (DSL) designed to specify virtual Learning Spaces enabling their automatic generation. To introduce CaVa^DSL language, the paper runs a case study, Museu Virtual Interativo da Fotografia (MVIF), presenting the specification for the museum's exhibiting rooms and their final layout. The process that analyzes and transforms the formal specification into the virtual Learning Spaces is briefly described to present the core engine of CaVa platform.

Cite as

Ricardo Giuliani Martini and Pedro Rangel Henriques. CaVa: Virtual Learning Spaces Formal Specification (Short Paper). In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 10:1-10:10, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{martini_et_al:OASIcs.SLATE.2018.10,
  author =	{Martini, Ricardo Giuliani and Henriques, Pedro Rangel},
  title =	{{CaVa: Virtual Learning Spaces Formal Specification}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{10:1--10:10},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.10},
  URN =		{urn:nbn:de:0030-drops-92687},
  doi =		{10.4230/OASIcs.SLATE.2018.10},
  annote =	{Keywords: domain-specific languages, formal specification, context free grammars, virtual museums, virtual learning spaces}
}
Document
Short Paper
Non-LR(1) Precedence Cascade Grammars (Short Paper)

Authors: José-Luis Sierra

Published in: OASIcs, Volume 62, 7th Symposium on Languages, Applications and Technologies (SLATE 2018)


Abstract
Precedence cascade is a well-known pattern for writing context-free grammars (CFGs) that model the syntax of expression languages. According to this method, precedence levels are represented by non-terminals, and operators' attributes are used to write syntax rules properly. In most cases, the resulting precedence cascade grammar (PCG) has neat properties that facilitate its implementation. In particular, many PCGs are LR(1) grammars, which serve as input for conventional bottom-up parser generators. However, for some cumbersome operator tables the method does not produce such neat grammars. This paper focuses on these cumbersome operator tables by identifying several conditions leading to non-LR(1) PCGs.

Cite as

José-Luis Sierra. Non-LR(1) Precedence Cascade Grammars (Short Paper). In 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Open Access Series in Informatics (OASIcs), Volume 62, pp. 11:1-11:8, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


Copy BibTex To Clipboard

@InProceedings{sierra:OASIcs.SLATE.2018.11,
  author =	{Sierra, Jos\'{e}-Luis},
  title =	{{Non-LR(1) Precedence Cascade Grammars}},
  booktitle =	{7th Symposium on Languages, Applications and Technologies (SLATE 2018)},
  pages =	{11:1--11:8},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-072-9},
  ISSN =	{2190-6807},
  year =	{2018},
  volume =	{62},
  editor =	{Henriques, Pedro Rangel and Leal, Jos\'{e} Paulo and Leit\~{a}o, Ant\'{o}nio Menezes and Guinovart, Xavier G\'{o}mez},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2018.11},
  URN =		{urn:nbn:de:0030-drops-92696},
  doi =		{10.4230/OASIcs.SLATE.2018.11},
  annote =	{Keywords: grammarware, expression grammars, grammar patterns, grammar ambiguity, LR grammars}
}
  • Refine by Author
  • 6 Leal, José Paulo
  • 6 Leitão, António Menezes
  • 4 Henriques, Pedro Rangel
  • 3 Almeida, José João
  • 3 Guinovart, Xavier Gómez
  • Show More...

  • Refine by Classification
  • 4 Computing methodologies → Natural language processing
  • 3 Applied computing → Interactive learning environments
  • 3 Software and its engineering → Domain specific languages
  • 2 Software and its engineering → Source code generation
  • 1 Computing methodologies → Language resources
  • Show More...

  • Refine by Keyword
  • 3 Python
  • 3 automatic evaluation
  • 3 programming
  • 2 Julia
  • 2 domain specific language
  • Show More...

  • Refine by Type
  • 25 document

  • Refine by Publication Year
  • 21 2018
  • 2 2022
  • 1 2012
  • 1 2014

Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail