James Vera
Stanford University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by James Vera.
IEEE Transactions on Software Engineering | 1995
David C. Luckham; John J. Kenney; Larry M. Augustin; James Vera; Doug Bryan; Walter Mann
Rapide is an event-based, concurrent, object-oriented language specifically designed for prototyping system architectures. Two principle design goals are: (1) to provide constructs for defining executable prototypes of architectures and (2) to adopt an execution model in which the concurrency, synchronization, dataflow, and timing properties of a prototype are explicitly represented. This paper describes the partially ordered event set (poset) execution model and outlines with examples some of the event-based features for defining communication architectures and relationships between architectures. Various features of Rapide are illustrated by excerpts from a prototype of the X/Open distributed transaction processing reference architecture. >
IEEE Transactions on Software Engineering | 1995
David C. Luckham; James Vera
This paper discusses general requirements for architecture definition languages, and describes the syntax and semantics of the subset of the Rapide language that is designed to satisfy these requirements. Rapide is a concurrent event-based simulation language for defining and simulating the behavior of system architectures. Rapide is intended for modelling the architectures of concurrent and distributed systems, both hardware and software in order to represent the behavior of distributed systems in as much detail as possible. Rapide is designed to make the greatest possible use of event-based modelling by producing causal event simulations. When a Rapide model is executed it produces a simulation that shows not only the events that make up the models behavior, and their timestamps, but also which events caused other events, and which events happened independently. The architecture definition features of Rapide are described: event patterns, interfaces, architectures and event pattern mappings. The use of these features to build causal event models of both static and dynamic architectures is illustrated by a series of simple examples from both software and hardware. Also we give a detailed example of the use of event pattern mappings to define the relationship between two architectures at different levels of abstraction. Finally, we discuss briefly how Rapide is related to other event-based languages. >
Journal of Systems and Software | 1993
David C. Luckham; James Vera; Doug Bryan; Larry M. Augustin; Frank C. Belz
Rapide is a concurrent object-oriented language specifically designed for prototyping large concurrent systems. One of the principle design goals has been to adopt a computation model in which the synchronization, concurrency, dataflow, and timing aspects of a prototype are explicitly represented and easily accessible both to the prototype itself and to the prototyper. This paper describes the partially ordered event set (poset) computation model, and the features of Rapide for using posets in reactive prototypes and for automatically checking posets. Some critical issues in the implementation of Rapide are described and our experience with them is summarized. An example prototyping scenario illustrates uses of the poset computation model.
principles of distributed computing | 1991
Sigurd Meldal; Sriram Sankar; James Vera
In distributed systems it is often important to be able to determine the temporal relationships between events generated by different processes. An algorithm to determiue such relationships is presented in [3] and [5]. This algorithm has many favorable attributes such as it allows for any kind of interprocess communication, and it requires no extra synchronization messages, additional communication links or cent ral t imestamping authority. The algorithm, however, requires O(n) space for each process (where n is the number of processes). i.e., it requires an overall space of 0(n2 ). This can be a large overhead especially when there are a very large number of processes. By cutting down on this generality, we can significantly decrease the amount of space required to determine temporal relationships. In this paper, we show how one may reduce the space requirements by assuming that the communication links between processes is static and known ahead oj time; and also that one is interested only in determining the temporal ordering between messages arriving at the same process. We argue that these assumptions are reasonable to make for a large class of problems.
Archive | 1995
David C. Luckham; James Vera; Sigurd Meldal
working ieee ifip conference on software architecture | 1999
James Vera; Louis Perrochon; David C. Luckham
Foundations of component-based systems | 2000
David C. Luckham; James Vera; Sigurd Meldal
Archive | 1993
David C. Luckham; James Vera; Doug Bryan; Larry M. Augustin; Frank C. Belz
IEEE Transactions on Software Engineering | 1995
David Luckhalm; James Vera
IEEE Transactions on Software Engineering | 1995
David C. Luckham; John J. Kenney; Larry M. Augustin; James Vera; Doug Bryan; Walter Mann