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 CRACS

2009

Programming Wireless Sensor Networks

Authors
Lopes, LMB; Martins, F; Barros, J;

Publication
Middleware for Network Eccentric and Mobile Applications

Abstract
Sensor networks can be viewed as a collection of tiny, low-cost devices programmed to sense the physical world and that communicate over radio links [12]. The devices are commonly called motes or smart dust [676], in allusion to their computational and sensing capabilities, as well as their increasingly small size. © 2009 Springer Berlin Heidelberg.

2009

Towards the Safe Programming of Wireless Sensor Networks

Authors
Martins, F; Lopes, LMB; Barros, J;

Publication
Proceedings Second International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software, PLACES 2009, York, UK, 22nd March 2009.

Abstract

2009

Knowledge discovery for sensor network comprehension

Authors
Rodrigues, PP; Gama, J; Lopes, L;

Publication
Intelligent Techniques for Warehousing and Mining Sensor Network Data

Abstract

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.

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.

2009

Secure Implementation of Meta-predicates

Authors
Moura, P;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES

Abstract
This paper identifies potential security loopholes in the implementation of support for meta-predicates Closing these loopholes depends on three conditions: a clear distinction between closures and goals, support for an extended meta-predicate directive that allows the specification of closures, and the availability of the call/2-N family of built-in meta-predicates. These conditions provide the basis for a set of simple safety rules that allows meta-predicates to be securely supported. These safety rules are currently implemented by Logtalk, all object-oriented logic programming language, and may also be applied in the context of Prolog predicate-based module systems. Experimental results illustrate how these rules can prevent several security problems, including accidental or malicious changes to the original meta-predicate arguments and bypassing of predicate scope rules and predicate scope directives.

  • 168
  • 208