Learn More
In the concurrent language CCS, two programs are considered the same if they are <italic>bisimilar</italic>. Several years and many researchers have demonstrated that the theory of bisimulation is mathematically appealing and useful in practice. However, bisimulation makes too many distinctions between programs. We consider the problem of adding operations(More)
Many process algebras are deened by structural operational semantics (SOS). Indeed , most such deenitions are nicely structured and t the GSOS format of 15]. We give a procedure for converting any GSOS language deenition to a nite complete equa-tional axiom system (possibly with one innnitary induction principle) which precisely characterizes strong(More)
In this paper, we construct a 2-writer, n-reader atomic memory register from two l-writer, (n + l)reader atomic memory registers. There are no restrictions on the size of the constructed register. The simulation requires only a single extra bit per real register, and can survive the failure of any set of readers and writers. This construction is a part of a(More)
This paper explores the connection between semantic equivalences and preorders for concrete sequential processes, represented by means of labeled transition systems, and formats of transition system specifications using Plotkin's structural approach. For several preorders in the linear time---branching time spectrum a format is given, as general as(More)
Scripting languages enjoy great popularity due to their support for rapid and exploratory development. They typically have lightweight syntax, weak data privacy, dynamic typing, powerful aggregate data types, and allow execution of the completed parts of incomplete programs. The price of these features comes later in the software life cycle. Scripts are(More)
S. Abrams B. Bloom P. Keyser D. Kimelman E. Nelson W. Neuberger T. Roth I. Simmonds S. Tang J. Vlissides Collecting and organizing all of the architectural information for a system is a challenge faced by information technology (IT) architects. Transforming that information into models of a viable architecture and keeping associated work products consistent(More)
Dynamic typing in scripting languages is a two-edged sword. On the one hand, it can be more flexible and more concise than static typing. On the other hand, it can lead to less robust code. We argue that patterns can give scripts much of the robustness of static typing, without losing the flexibility and concision of dynamic typing. To make this case, we(More)