Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Paulo Moura

2011

L-FLAT: Logtalk Toolkit for Formal Languages and Automata Theory

Authors
Moura, P; Dias, AM;

Publication
CoRR

Abstract

2010

Modeling and planning collaboration using organizational constraints

Authors
Igler, M; Moura, P; Färber, M; Zeising, M; Jablonski, S;

Publication
The 6th International Conference on Collaborative Computing: Networking, Applications and Worksharing, CollaborateCom 2010, Chicago, IL, USA, 9-12 October 2010

Abstract
Process management systems play an important role for today's information systems. They coordinate the work items among employees and ensure the correct execution of processes. In this paper we focus on the organizational perspective of process management systems. This perspective is responsible for assigning people together with their roles within business organizations to process execution. A key issue in integrating the organizational perspective into processes is the strategy for selecting people to execute work steps. This assignment is the basis for collaboration among the people of an organization within a process-based application. We implemented our approach in ESProNa, a Logtalk application running in SWI-Prolog extended with the Thea library providing direct and complete support for OWL2 ontologies. The use of these languages allows the definition of comprehensive organizational constraints. We will cover both, the definition of these constraints in the process model, and their interpretation by the process execution engine. Further we will show how the organizational perspective impacts the order of process execution, i. e. the way of collaboration between the assigned people decisively. © 2010 ICST.

2009

From Plain Prolog to Logtalk Objects: Effective Code Encapsulation and Reuse

Authors
Moura, P;

Publication
Logic Programming, 25th International Conference, ICLP 2009, Pasadena, CA, USA, July 14-17, 2009. Proceedings

Abstract
Prolog affords concise, elegant, and clean solutions for many interesting problems, but is not immune to the software engineering challenges of large-scale application development. Code modularization, using modules or objects, is a key feature to keep projects manageable. Since most literature, instruction, and practice focus exclusively on object-oriented languages derived from imperative languages, objects are perceived as alien to logic programming while modules are considered a natural fit. Logtalk is an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. Logtalk objects are about code encapsulation and reuse, providing an alternative to Prolog module systems, and enabling natural solutions for a wide range of problems that would be awkward to solve using modules. This talk presents the Logtalk design goals, followed by a tutorial on Logtalk programming and some application examples. The talk ends with a discussion on the problems and benefits of developing Logtalk as a portable Prolog application. © 2009 Springer Berlin Heidelberg.

2006

Logtalk processing of STEP Part 21 files

Authors
Moura, P; Marchetti, V;

Publication
LOGIC PROGRAMMING, PROCEEDINGS

Abstract
STEP is an international standard for modeling information used in manufacturing activities; Part 21 is a STEP component that standardizes the exchange of this information through text files. We are working on applying logic programming techniques to processing STEP data models. The STEP standard specifies the entities, attributes, consistency rules, and functions used for describing and validating manufacturing information. Most STEP entities and data types are organized into hierarchies, making an object-oriented approach the most straightforward implementation solution. Our work uses Logtalk, an object oriented extension to Prolog, as the primary implementation tool.

2009

Programming Patterns for Logtalk Parametric Objects

Authors
Moura, P;

Publication
Applications of Declarative Programming and Knowledge Management - 18th International Conference, INAP 2009, Évora, Portugal, November 3-5, 2009, Revised Selected Papers

Abstract
This paper presents a survey of programming patterns for Logtalk parametric objects. A parametric object is an object whose identifier is a compound term containing logical variables. These variables play the role of object parameters. Object predicates can be coded to depend on the parameter values. Parametric objects are a common feature of some other object-oriented logic programming languages and Prolog object-oriented extensions. Logtalk extends the usefulness of parametric objects by introducing the concept of object proxies. An object proxy is a compound term that can be interpreted as a possible instantiation of the identifier of a parametric object. Object proxies, when represented as predicate facts, allow application memory footprint to be minimized while still taking full advantage of Logtalk object-oriented features for representing and reasoning with taxonomic knowledge. © 2011 Springer-Verlag Berlin Heidelberg.

2011

Meta-predicate Semantics

Authors
Moura, P;

Publication
Logic-Based Program Synthesis and Transformation - 21st International Symposium, LOPSTR 2011, Odense, Denmark, July 18-20, 2011. Revised Selected Papers

Abstract
We describe and compare design choices for meta-predicate semantics, as found in representative Prolog predicate-based module systems and in Logtalk. We look at the consequences of these design choices from a pragmatic perspective, discussing explicit qualification semantics, computational reflection support, expressiveness of meta-predicate directives, meta-predicate definitions safety, portability of meta-predicate definitions, and meta-predicate performance. We also describe how to extend the usefulness of meta-predicate definitions. Our aim is to provide useful insights to discuss meta-predicate semantics and portability issues based on actual implementations and common usage patterns. © 2012 Springer-Verlag.

  • 2
  • 4