Pierre America
Philips
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Pierre America.
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages | 1990
Pierre America
This paper describes the design of the parallel object-oriented programming language POOL-I. We concentrate on the type system of the language and specifically on the aspects of subtyping and genericity. POOL-I is the first language we know of that includes subtyping and inheritance as completely separate language mechanisms. By decoupling these two, which have been strongly tied together in other statically typed object-oriented languages with inheritance, a much cleaner language design can be obtained and a much more flexible use of both mechanisms can be made in actual programs.
european conference on object oriented programming | 1990
Pierre America; Frank van der Linden
This paper shows that inheritance and subtyping can be introduced advantageously into a parallel object-oriented language, POOL-I. These concepts are clearly distinguished, because they deal with different aspects of programming. In this way several problems traditionally adhering to inheritance can be solved. The language POOL-I is a parallel object-oriented language with a strong typing scheme which includes genericity and dynamic binding. A novel and particularly powerful mechanism offers the possibility to manipulate and analyse types dynamically.
european conference on object oriented programming | 1987
Pierre America
We have investigated the concepts of inheritance and subtyping in order to integrate them in a parallel object-oriented language. In doing so, we have concluded that inheritance and subtyping are two different concepts, which should not be confused in any object-oriented language (be it parallel or sequential). Inheritance takes place on the implementation level of classes, and it is a convenient mechanism for code sharing. It can be supported, for example, by introducing inheritance packages into a programming language. Subtyping deals with the message interface of objects, and it leads to a conceptual hierarchy based on behavioural specialization. Subtyping should take place on the basis of specifications of the external behaviour of objects, and as much as possible of these specifications should be formal. Some specific problems with introducing these two concepts into a parallel language are also discussed.
Formal Aspects of Computing | 1989
Pierre America
This paper discusses the considerations that have played a role in the design of the language POOL2. This language integrates the structuring techniques of object-oriented programming with mechanisms for expressing parallelism. We introduce the basic principles of object-oriented programming and its significance for program development methodologies. Several approaches for integrating objects and parallelism are compared and arguments for the choices made in POOL2 are presented. We also explain why inheritance is not yet included in POOL2. A brief overview of the research in formal aspects of POOL is given. Finally we indicate some directions for future developments.
Information & Computation | 1989
Pierre America; de Jaco Bakker; Joost N. Kok; Jan J. M. M. Rutten
Abstract A denotational model is presented for the language POOL, a parallel object-oriented language. It is a syntactically simplified version of POOL-T, a language that is actually used to write programs for a parallel machine. The most important aspect of this language is that it describes a system as a collection of communicating objects that all have internal activities which are executed in parallel. To describe the semantics of this language we construct a mathematical domain of processes. This domain is obtained as a solution of a reflexive domain equation over a category of complete metric spaces. A new technique is developed to solve a wide class of such equations, including function space constructions. The desired domain is obtained as the fixed point of a contracting functor implicit in the equation. The domain is sufficiently rich to allow a fully compositional definition of the language constructs in POOL, including concepts such as object creation and method invocation by messages. The semantic equations give a meaning to each syntactic construct depending on the POOL object executing the construct, the environment constituted by the declarations, and a continuation, representing the actions to be performed after the execution of the current construct. After the process representing the execution of an entire program is constructed, a yield function can extract the set of possible execution sequences from it. A preliminary discussion is provided on how to deal with fairness. Full mathematical details are supplied, with the exception of the general domain construction, which is described elsewhere.
symposium on principles of programming languages | 1986
Pierre America; Jaco de Bakker; Joost N. Kok; Jan J. M. M. Rutten
In this paper the semantics of the programming language POOL is described. It is a language that integrates the object-oriented structure of languages like Smalltalk-80 with facilities for concurrency and communication like the ones in Ada. The semantics is described in an operational way; it is based on transition systems. By using a way of representing parallel processes that is different from the traditional one, it is possible to overcome some difficulties pertaining to the latter. The resulting semantics shows a close resemblance with the informal language description and at the same time there are good prospects that it can serve as a secure guide for the implementation of the language. Also a variant is given in which more and maximal parallelism can be expressed in a very natural way.
software product lines | 2000
Pierre America; J. Henk Obbink; Rob C. van Ommering; Frank van der Linden
In this paper we describe a family of methods that enable the development of product family architectures. These methods have in common that they offer support in developing a family of software-intensive products on the basis of one or more common platforms, that they use component technology to build the platforms and the products, and that they use several well-defined software development processes. The methods differ in many important decisions regarding processes and architecture, which are tuned carefully to the business and organizational context. In this way the method family establishes a significant synergy in the development of several product families in a large and diverse industrial company.
International Workshop on Software Product-Family Engineering | 2003
Pierre America; Eelco Rommes; J. Henk Obbink
We propose an approach using scenarios to describe a spectrum of possible futures and analyze them to assess and improve the ease of accommodating new requirements by a system architecture. Variation modeling forms an important part of the analysis. This paper focuses on an approach to variation modeling across multiple architectural views. The models do not only display the variability in these views, but also the relationships between them. In particular, they can show how choices in one view influence choices in the other views.
Formal Aspects of Computing | 1994
Pierre America; Frank S. de Boer
We develop a Hoare-style proof system for reasoning about the behaviour of processes that interact via a dynamically evolving communication structure.
Lecture Notes in Computer Science | 2000
Pierre America; Jan van Wijgerden
This paper introduces an approach to the specification of system families. The main ingredient of this approach is the definition of use cases hand in hand with a requirements object model. Instead of specifying individual systems, we specify a domain, i.e., a conceptual space of possible systems, in which individual systems can be defined by fixing a number of variation points. In that way we obtain a strong cohesion within the family and concise specifications of its members. We also describe a process suitable for this specification approach and indicate how the transition to the design phase can take place. Our approach was validated in one large project and several smaller ones.