Daniel S. Dantas

Learn More
This paper defines an object-oriented language with <i>harmless</i> aspect-oriented advice. A piece of harmless advice is a computation that, like ordinary aspect-oriented advice, executes when control reaches a designated control-flow point. However, unlike ordinary advice, harmless advice is designed to obey a weak non-interference property. Harmless(More)
This article defines AspectML, a typed functional, aspect-oriented programming language. The main contribution of AspectML is the seamless integration of polymorphism, run-time type analysis and aspect-oriented programming language features. In particular, AspectML allows programmers to define type-safe polymorphic advice using pointcuts constructed from a(More)
Ad hoc and sensor networks are an important, emerging niche that is poorly supported by existing operating systems. In this paper, we argue that network-wide energy management is a primary concern in ad hoc networks, and that this functionality is best provided by a systems layer. We are currently designing and implementing a distributed, power-aware,(More)
This paper defines PolyAML, a typed functional and aspect-oriented programming language. The main contribution of PolyAML is in the seamless integration of polymorphism, run-time type analysis and aspect-oriented programming language features. In particular, PolyAML allows programmers to define type-safe polymorphic advice using pointcuts constructed from a(More)
In defining large, complex access control policies, one would like to compose sub-policies, perhaps authored by different organizations, into a single global policy. Existing policy composition approaches tend to be ad-hoc, and do not explain whether too many or too few policy combinators have been defined. We define an access controlpolicy as a(More)
Aspect-oriented programming languages such as AspectJ provide a new way to separate out and consolidate code for debugging, profiling, distribution and other tasks that would otherwise become tangled with the main-line computation. Without aspects, this code can be difficult to understand and maintain. Unfortunately, while aspects purport to provide a new(More)
This paper defines Poly<inf>AML</inf>, a typed functional, aspect-oriented programming language. The main contribution of Poly&lt;SMALL&gt;AML&lt;/SMALL&gt; is the seamless integration of polymorphism, run-time type analysis and aspect-oriented programming language features. In particular, Poly&lt;SMALL&gt;AML&lt;/SMALL&gt; allows programmers to define(More)
This paper defines PolyAML, a typed functional, aspect-oriented programming language. The main contribution of PolyAML is the seamless integration of polymorphism, run-time type analysis and aspectoriented programming language features. In particular, PolyAML allows programmers to define type-safe polymorphic advice using pointcuts constructed from a(More)
This paper presents the design, theory and implementation of Gloves, a domain-specific language that allows users to specify the provenance (the derivation history starting from the origins), syntax and semantic properties of collections of distributed data sources. In particular, Gloves specifications indicate <i>where</i> to locate desired data,(More)