Older Publications of Wendelin Serwe

    Articles in Electronic Journals

    • Integrating Action Definitions into Concurrent Declarative Programming

      Rachid Echahed and Wendelin Serwe

      In Electronic Notes in Theoretical Computer Science 64, September 2002. Special issue: selected papers from International Workshop on Functional and (Constraint) Logic Programming, September 2001.

      (ps.gz, 174228 bytes), (pdf, 178596 bytes)

      Abstract

      Actions are essential in the description of processes, since processes are characterised by the actions they can execute. In this paper, we tackle the problem of the definition of actions within the context of a component-based approach to concurrent declarative programming. In this computation model, a system is modeled by a set of interacting components, where each component consists of a declarative program, called store, and a set of processes.

      We give first an overview of the considered computation model for concurrent declarative programming. In a second step, we propose to define actions as functions from declarative programs to themselves, using a meta-language, where abstract data types of declarative programs are available. We illustrate our approach through several examples and compare our approach to related work.

    Articles in Conference Proceedings

    • Statically Assuring Secrecy for Dynamic Concurrent Processes

      Rachid Echahed, Frédéric Prost and Wendelin Serwe.

      Published in the proceedings of the Fifth ACM-SIGPLAN International Conference on Principles and Practice of Declarative Programming (PPDP 2003).

      (ps.gz, 170303 bytes), (pdf, 267416 bytes)

      Abstract

      We propose a new algorithm of secrecy analysis in a framework integrating declarative programming and concurrency. The analysis of a program ensures that information can only flow from less sensitive levels toward more sensitive ones. Our algorithm uses a terminating abstract operational semantics which reduces the problem of secrecy to constraint solving within finite lattices. It departs in that from the previous works essentially based on type systems. Furthermore, our proposal is general and tackles a very large class of programs, featuring dynamic process creation, general sequential composition, recursive process calls and high level synchronization.

    • Intégration de méthodes de réécriture et de recherche opérationnelle pour la modélisation et la résolution de contraintes : application à la planification de personnel médical

      Nadia Brauner, Rachid Echahed, Gerd Finke, Frédéric Prost and Wendelin Serwe.

      Published in actes de la première conférence francophone en gestion et ingénierie des systèmes hospitaliers (GISEH 2003), January 2003.

      (ps.gz, 547687 bytes), (pdf, 450489 bytes)

      Résumé (abstract in French)

      Nous présentons un travail où deux techniques différentes, la Recherche Operationnelle et les techniques de réécriture sont couplées afin de résoudre des problèmes de gestion de ressources. L'idée générale est que si la R.O. fourni des algorithmes efficaces, ces derniers ne sont valides que sur des structures mathématiques précises. Or il existe de contraintes symboliques difficilement représentables de cette manière. Nous proposons donc d'utiliser les techniques de réécriture, qui sont générales mais gourmandes en temps, pour traiter ces dernières et de se servir de la R.O. pour traiter la partie combinatoire du problème. Nous illustrons notre méthode en l'appliquant à la gestion des ressources humaines d'un service de radiologie d'un hôpital parisien.

    • Combining Mobile Processes and Declarative Programming

      Rachid Echahed and Wendelin Serwe

      Published in the Proceedings of the First International Conference on Computational Logic, July 2000, J. Lloyd, V. Dahl, U. Furbach, M. Kerber, K.-K. Lau, C. Palamidessi, L. M. Pereira, Y. Sagiv and P. J. Stuckey (Eds.), Volume 1861 of Lecture Notes in Artificial Intelligence, Springer Verlag, ©Springer Verlag.

      (ps.gz, 93015 bytes)

      Abstract

      We propose a general framework for combining mobile processes and declarative programming languages, e.g., functional, logic or functional-logic languages. In contrast to existing concurrent extensions of declarative languages, we distinguish clearly between the notion of processes and that of functions or predicates. Thus, our framework is generic and may be applied to extend several kinds of declarative languages. It also extends PA process algebra in order to deal with parameter passing, mobile processes and interactive declarative programming. In our setting, declarative programs are dynamic and may be modified thanks to the actions performed by processes.

    Articles in Workshop Proceedings

    • Integrating Action Definitions into Concurrent Declarative Programming

      Rachid Echahed and Wendelin Serwe

      Article presented at the International Workshop on Functional and (Constraint) Logic Programming, September 2001. Accepted for publication in ENTCS volume 64.

      (ps.gz, 174230 bytes)

      Abstract

      The semantics of a process defines the actions it can execute. Thus actions constitute an essential notion for concurrent systems. In this paper, we tackle the problem of integrating the definition of actions within the context of concurrent constraint functional logic programming. We propose to define actions in a meta-language, where abstract data types of programs are available, as functions from constraint functional logic programs to themselves. We illustrate our approach through some examples and compare our approach to related work.

    • A Component-Based Approach to Concurrent Declarative Programming

      Rachid Echahed and Wendelin Serwe

      Article presented at the International Workshop on Functional and (Constraint) Logic Programming, September 2001.

      (ps.gz, 111027 bytes), (pdf, 241207 bytes)

      Abstract

      In this paper we present a component-based approach to mobile concurrent declarative programming, where we model systems as sets of interacting components. We define a component and its different constituents. Then we give the implementation principles for the proposed framework. Finally, we present some examples of definitions of components together with a prototype implementation.

    • A Concurrent Extension of Functional Logic Programming Languages

      Rachid Echahed and Wendelin Serwe

      Extended abstract accepted for presentation at the 9th International Workshop on Logic-based Program Synthesis and Transformation, September 1999.

      (dvi.gz, 19880 bytes), (ps.gz, 77510 bytes), (pdf, 313423 bytes)
      draft full paper (dvi.gz, 37094 bytes), (ps.gz, 464020 bytes), (pdf, 350228 bytes)

      Abstract

      We present a concurrent extension of functional logic programming languages together with a compositional semantics based on labeled sequences, which takes into account the environment of the program. This framework allows to specify, at a very high level, applications that need concurrency and interaction with the environment. For that, we introduce the possibility of defining processes (agents) which specify the dynamics (evolution) of a classical functional logic program, including its communication with the environment. The resulting formalism integrates in a uniform way the main features of functional, logic and concurrent programming.

    • Towards Reactive Functional Logic Programming Languages

      Jérémie Blanc, Rachid Echahed and Wendelin Serwe

      Article presented at the 7th International Workshop on Functional and Logic Programming, April 1998.

      (ps.gz, 115880 bytes)

      Abstract

      In this paper we present a new extension of functional logic programming languages which allows to specify, at a very high level, applications that need parallelism and reactivity with the environment. For that, we introduce the possibility of defining procedures (agents) which specify the dynamics (evolution) of a classical functional logic program, including its communication with the environment. The resulting formalism integrates in a uniform way the main features of functional (algebraic), logic and parallel programming.

    Theses

    • Étude de la programmation logico-fonctionnelle concurrente (On Concurrent Functional Logic Programming)

      Thèse de doctorat de l'Institut National Polytechnique de Grenoble (PhD Thesis), March 15, 2002. written in English, containing an extended abstract in French.

    • (pdf)

      Abstract

      The construction of programs needs the use of appropriate tools. A particular kind of tool are programming languages. Functional-logic programming languages are declarative languages based on the mathematical notions of functions and predicates. This solid formal foundation facilitates both, the concise description of systems at a level close to specifications, as well as the validation of programs. Nevertheless, the underlying concepts are insufficient for a convenient description of complex systems where interactivity, concurrency and distribution are needed. In order to model such systems, the notion of processes has been introduced. In the context of process algebrae, a process is characterised, informally, by the actions it might execute. However, languages based solely on process algebrae have to be extended with the notions of functions and predicates to avoid the encoding of these notions by means of processes.

      In this thesis, we study an integration of declarative and concurrent programming. We model a system as a set of components. Each component contains a declarative program, called store, and a set of processes which interact by the execution of actions and are described by means of process algebrae. Additionally, a component might contain definitions of further actions definable by the programmer. Interaction between components uses the same scheme: Processes can execute actions on the store of the other components. The different components of a system can use different declarative languages for the description of their stores, so that the translation of the communicated values is necessary. We give a compositional semantics and a secrecy analysis for the processes of a component and present the outlines of a prototype implementation.

      Keywords

      (Declarative) Programming Languages, Functional-Logic Programming, Concurrent Programming, Process Algebra, Mobility, Multiparadigm Programming, Action, Components, Compositionality, Secrecy.

    • Studie einer Semantik für reaktive funktional-logische Programmiersprachen

      Mémoire de DEA/Diplomarbeit (Master's Thesis), Grenoble/Karlsruhe, July 1998. written in French, containing an extended abstract in German.

    Technical Reports

    • Abstracting Call-Stacks for Interprocedural Verification of Imperative Programs

      Bertrand Jeannet and Wendelin Serwe.

      Research Report INRIA RR4904.

      Abstract

      We address in this paper the verification of imperative programs with recursion. Our approach consists in using abstract interpretation to relate the standard semantics of imperative programs to an abstract semantics, by the mean of a Galois connection, and then to resort to intraprocedural techniques, which can be applied on the abstract semantics. This approach allows the reuse of classical intraprocedural techniques with few modifications, generalises existing approaches to interprocedural analysis and offers additional flexibility, as it keeps substantial information on the call-stack of the analysed program.

    • A Computation Model for Concurrent Declarative Programming

      Rachid Echahed and Wendelin Serwe

      Cahiers du Laboratoire Leibniz 79.

      (ps, 3412043 bytes), (pdf, 677286 bytes)

      Abstract

      We propose a general computation model combining mobile processes and declarative programming languages, e.g., functional, logic or functional-logic languages. In contrast to most existing concurrent extensions of declarative languages, we distinguish clearly between the notion of processes and those underlying declarative programming languages, e.g., functions and predicates. Thus, our computation is generic and may be applied to extend several kinds of declarative languages. It also extends PA process algebra in order to deal with parameter passing, mobile processes and interactive declarative programming. In our setting, declarative programs are dynamic, that is to say they may be modified thanks to the actions performed by processes. We also propose a new formal definition of a component.

    • Assuring Secrecy for Concurrent Declarative Programs

      Rachid Echahed, Frédéric Prost and Wendelin Serwe

      Cahiers du Laboratoire Leibniz 40.

      (ps, 3051293 bytes), (pdf, 235085 bytes)

      Abstract

      We propose a new algorithm of secrecy analysis in a framework integrating declarative programming and concurrency. The analysis of a program ensures that information can only flow from less sensitive levels towards more sensitive ones. Our algorithm uses a terminating abstract operational semantics which reduces the problem of secrecy to constraint solving within finite lattices. It departs in that from the previous works essentially based on type systems. Furthermore, our proposal is general and tackles a very large class of programs which includes strictly those considered by Boudol and Castellani or Smith and Volpano.


    Note on the file formats

    dvi.gz
    gzip'ed DVI
    ps
    PostScript
    ps.gz
    gzip'ed PostScript
    pdf
    PDF

    Last update: 2021/04/20 10:04:19
    Homepage