Alberto Pettorossi
National Research Council
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Alberto Pettorossi.
Selected Papers from the International Seminar on Partial Evaluation | 1996
Alberto Pettorossi; Maurizio Proietti
We revisit the main techniques of program transformation which are used in partial evaluation, mixed computation, supercompilation, generalized partial computation, rule-based program derivation, program specialization, compiling control, and the like. We present a methodology which underlines these techniques as a ‘common pattern of reasoning’ and explains the various correspondences which can be established among them. This methodology consists of three steps: i) symbolic computation, ii) search for regularities, and iii) program extraction. We also discuss some control issues which occur when performing these steps.
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I | 2002
Alberto Pettorossi; Maurizio Proietti
In a seminal paper [38] Prof. Robert Kowalski advocated the paradigm Algorithm = Logic + Control which was intended to characterize program executions. Here we want to illustrate the corresponding paradigm Program Derivation = Rules + Strategies which is intended to characterize program derivations, rather than executions. During program execution, the Logic component guarantees that the computed results are correct, that is, they are true facts in the intended model of the given program, while the Control component ensures that those facts are derived in an efficient way. Likewise, during program derivation, the Rules component guarantees that the derived programs are correct and the Strategies component ensures that the derived programs are efficient. In this chapter we will consider the case of logic programs with locally stratified negation and we will focus on the following three important methodologies for program derivation: program transformation, program synthesis, and program verification. Based upon the Rules + Strategies approach, we will propose a unified method for applying these three programming methodologies. In particular, we will present: (i) a set of rules for program transformation which preserve the perfect model semantics and (ii) a general strategy for applying the transformation rules. We will also show that we can synthesize correct and efficient programs from first order specifications by: (i) converting an arbitrary first order formula into a logic program with locally stratified negation by using a variant of the Lloyd-Topor transformation, and then (ii) applying our transformation rules according to our general strategy. Finally, we will demonstrate that the rules and the strategy for program transformation and program synthesis can also be used for program verification, that is, for proving first order properties of systems described by logic programs with locally stratified negation.
MSRAS | 2005
Fabio Fioravanti; Alberto Pettorossi; Maurizio Proietti
We propose a method for the specification and the automated verification of temporal properties of protocols which regulate the activities of multiagent systems. The set of states of those systems may be infinite so that, in general, the verification of a property of a multiagent system cannot be performed by an exhaustive inspection. We specify a given multiagent system by means of a constraint logic program P with locally stratified negation, and we specify a given temporal property to be verified by means of an atomic formula A. In order to verify that the given temporal property holds, we transform the program P into an equivalent program T such that the fact A ← belongs to T. Our transformation method consists of a set of rules and an automatic strategy that guides the application of the rules. Our method is sound for verifying properties of protocols that are expressible in the CTL logic [5]. Although our method is incomplete for proving properties of infinite state systems, it is able to verify important properties of several protocols which are used in practice.
Archive | 1993
Alberto Pettorossi; Enrico Pietropoli; Maurizio Proietti
We present a technique for developing efficient functional programs by using optimal synchronizations among function calls. This technique is based on the application of the tupling strategy and it works for a wide class of functions defined by recursive equations. The derived programs are shown to have minimal redundancy, in the sense that repeated computations of identical recursive calls are never performed and identical subexpressions may be recomputed a number of times which is linearly bounded w.r.t. the depth of the recursion. The derived programs also have minimal spatial synchronization, in the sense that only a minimal number of computations are synchronized together, without increasing the parallel computation time.
Research Report Series of IASI-CNR, Rome, Italy (ISSN: 1128-3378) | 2001
Fabio Fioravanti; Alberto Pettorossi; Maurizio Proietti
Archive | 1988
Alberto Pettorossi; Maurizio Proietti
systems, man and cybernetics | 2002
Fabio Fioravanti; Alberto Pettorossi; Maurizio Proietti
ILPS | 1995
Kung-Kiu Lau; Mario Ornaghi; Alberto Pettorossi; Maurizio Proietti
Research Report Series of IASI-CNR, Rome, Italy (ISSN: 1128-3378) | 1998
Sophie Renault; Alberto Pettorossi; Maurizio Proietti
Research Report Series of IASI-CNR, Rome, Italy (ISSN: 1128-3378) | 2007
Fabio Fioravanti; Alberto Pettorossi; Maurizio Proietti