António Porto
Universidade Nova de Lisboa
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by António Porto.
conference on automated deduction | 1980
Luís Moniz Pereira; António Porto
We present a selective backtracking method for Horn clause programs, as applied to Prolog (2)(6)(11)(12), a programming language based on first-order predicate calculus (3)(4), developed at the university of Marseille (10).
Seminar and Workshop on Declarative Programming | 1991
Luís Monteiro; António Porto
This paper aims at a deeper understanding of how inheritance can fit into a logic programming framework, by considering inheritance systems in terms of partially ordered sets of logic program units. We develop for such systems operational, declarative and fixed point semantics which are proven equivalent.
Archive | 2000
António Porto; Gruia-Catalin Roman
Tuple spaces have turned out to be one of the most fundamental abstractions for coordinating communicating agents. At the same time, researchers continue to propose new variants of tuple spaces, since no one approach seems to be universally applicable to all problem domains. Somemodels offer a certain configurability, but existing approaches generally stop at a fixed set of configuration options and static configuration at instantiation time. We argue that a more open approach is needed, and presentOpenSpaces, an object-oriented framework that supports static configurability through subclassing across several dimensions, as well as dynamic configurability of policies through run-time composition. We introduce OpenSpaces by showing how it can be used to instantiate a typical application, and we present an overview of the framework, implemented in Smalltalk, detailing the various degrees of configurability.
practical aspects of declarative languages | 2003
António Porto
Our Faculty embarked a few years ago on an ambitious project to redesign itself around an integrated information system, aimed at supporting all information handling activities and deployed through dynamic Web interfaces automatically customized for individual users. The project includes both the design of the services and the development of appropriate software technology to implement them. It led already to a running system, supporting many official academic procedures, which is under constant evolution. The system architecture is fully based on Prolog, connected to an external database engine. This paper summarizes and discusses the characteristics that make Prolog a vehicle of choice for the implementation, along with a sketch of main aspects of the system architecture and the specific declarative techniques that were developed for them. The recurring methodological gain is the ease of building abstraction layers supported by specific term sub-languages, due to the combination of flexible operator syntax with the power of the underlying machinery to define new constructs. The basic programming layer evolved from standard Prolog to a novel structured version of it, with compositional semantics (no cuts) and direct support for structural abstraction and application, combining in practice the logic programming style with the higher-order power and some of the programming flavour of functional languages. The systems main architectural glue is the conceptual scheme, for which a definition language was developed whose expressions are compiled (by Prolog) to induce the database tables and (the instantiation of) a query/update language with a syntax based on compositionality principles of natural language, whose expressions are both more natural and much more compact than the equivalent in SQL.
international workshop on extensions of logic programming | 1992
António Porto; Paulo Rosado
We present a new model for concurrent programming, which we call AbstrAct. A system is specified through collections of rules defining all possible state transformations that may occur. The activity of a system is driven by goals (actions) organized in parallel and sequence in a structure called the agenda. Actions in the agenda communicate and synchronize by atomically consulting and updating a global shared space, the blackboard, which may, in general, be regarded as a logic program. An action rule corresponds to an atomic step in the execution of an action in the agenda, that replaces it by a structure of subactions while changing the blackboard; the rule specifies conditions on the current and new blackboard.
ICTL '94 Proceedings of the First International Conference on Temporal Logic | 1994
Cristina Ribeiro; António Porto
Commonsense knowledge often omits the temporal incidence of facts, and even the ordering between occurrences is only available for some of their instances. Reasoning about the temporal extent of facts and their sequencing becomes complex due to this inherent partiality. The generation of hypotheses is adopted here as a natural way to overcome the difficulties in computing answers to temporal queries. The proposed abductive system performs temporal reasoning in a logic programming framework. Queries are taken as goals and the inference system combines deduction with abduction and constraint solving. The convenience of constraints for dealing with temporal information is widely recognized, their interest being twofold: the representation of essential properties of time and the provision for partial information, allowing flexible bounds on times instead of constant bindings. Inference manipulates a language associating propositions with time periods which are maximal intervals for the proposition. The abductive inference procedure is described here, identifying the constraint operations required. It is also shown that the outcome of a derivation is always consistent with the information in the knowledge base.
international symposium on functional and logic programming | 2002
António Porto
This paper explores a seeminglyv ery simple idea--an operation for extending a term with extra (start or end) arguments to yield a new term. This allows the definition a varietyof structural operators that provide the power of functional composition and higher-order features on top of the non-directional and non-deterministic (relational) behavior of the underlying logic programming setting. Syntax alone is taken to be meaningless, semantics being associated to syntax in context. Multiple semantic views of each term are therefore possible, in different contexts. One such semantic view is structural, whereby any term is taken as an implicit abstraction of another term over some of its subterms. The standard operational semantics is extended with a rewrite step prior to each goal invocation, that appeals to a functional rewrite semantics to interpret certain terms as applications of implicit inner structural abstractions to inner arguments. The approach is first described through meta-level functional definitions, and then an implementation is shown through a collection of standard Prolog predicates. The powerful gain in expressiveness is thus achieved without any extension of the underlying machinery, much in the spirit of an old claim by D. H. Warren [5]. The scheme was motivated byt he needs of a large real-world application [4] where it is now in use.
Theoretical Computer Science | 1998
Luís Monteiro; António Porto
Abstract Coordination seems to require (at least in part) a persistent repository of information that concurrent agents can query and update. Indeed, most coordination languages are based on a shared data space model. They differ in the details of how actions and processes are defined, but most assume the data space to have a multiset structure, and actions to be rewritings. We find this view too particular and not expressive enough in many practical cases, and set out in this paper to develop a more general theory of actions, abandoning the syntactic rewriting paradigm in favour of a more abstract notion of update based on entailment. Actions may impose certain properties to be entailed or not entailed, and the corresponding update is the minimal change, possibly by removing information and adding new one, that satisfies the (dis)entailment requirements. We work with abstract situations (standing for information states) ordered under entailment. We show that if a situation space is a coherent, prime algebraic, consistently complete poset then a suitable class of its subsets, which we call definite, corresponds to update operations with suitable generality (any situation can be obtained by an update of any other) and good compositional properties (closure under sequential and synchronous composition). These updates can be seen as unconditional determinate actions, i.e. total functions from situations to situations; these functions are always a composition of a restriction (losing information) and an expansion (adding consistent information). We show that the space of updates is itself an ordered structure similar to a situation space. Then we consider general actions, which may be conditional and nondeterministic. They thus represent arbitrary relations between situations, but are actually more specific, coding the intensional rather than extensional behaviour, this being relevant for the synchronous composition. We formulate general actions as (suitably restricted) relations between situations and definite sets, define their synchronous, sequential and choice compositions, and show them to be fully abstract with respect to observing situation transitions under any compositional context. The synchronous and sequential compositions give rise to an intrinsic notion of independence of actions, that reflects their ability to be truly concurrent.
portuguese conference on artificial intelligence | 1991
Cristina Ribeiro; António Porto
Temporal reasoning is recognized as a key problem in many AI areas, namely knowledge bases, natural language processing and planning. The ability to deal with partial knowledge is particularly important in a temporal domain. We describe a temporal language that accounts for incompletely specified temporal information about propositions. The language is semantically based on the notion of maximal interval, the denotation of a proposition being a set of maximal intervals where it holds. The main differences between classical formalisms such as those by Allen, McDermott, Shoham and Kowalski and our approach are briefly discussed. In a partial KB, abduction on the temporal order is generally needed to answer a query, and the answer is then conditional on the abduced facts. To comply with the intended semantics, an implicit form of temporal consistency has to be enforced, and this presents the main challenge to the design of the inference mechanism. We present here the syntax and declarative semantics of a propositional version of the language of maximal intervals and a first discussion of the problems in designing an inference system adequate to work with this temporal framework.
Sigact News | 1980
António Porto; Armando B. Matos
The Ackermann function a(m, n) is a classical example of a total recursive function which is not primitive recursive. It grows faster than any primitive recursive function. It is usually defined by a general recurrence together with two “boundary” conditions. In this paper we obtain a closed form of a(m, n), which involves the Knuth superpower notation, namely a(m, n) = 2 m−2 ↑ (n + 3) − 3. Generalized Ackermann functions, that is functions satisfying only the general recurrence and one of the boundary conditions are also studied. In particular, we show that the function 2 m−2 ↑ (n + 2)− 2 also belongs to the “Ackermann class”.