When designing Simula, Ole-Johan Dahl and Kristen Nygaard introduced the basic concepts of what later became known as object-orientation, which still, 35 years later, has a profound impact on computing. This paper looks at the background for the Simula project, how it developed over time, and why it could be so successful.
Scalable Coherent Interface (SCI) is a bus dened by an IEEE working group. The purpose of SCI is to be the interconnect in future shared memory multiprocessors. The SCI denition, as proposed by the working group, species a cache coherence protocol. This specication is given in the C programming language. This report describes a layered approach to the… (More)
Algebraic graph transformation has a wellestablished theory and associated tools that can be used to perform model transformations. However, the lack of a construct to match and transform collections of similar subgraphs makes graph transformation complex or even impractical to use in a number of transformation cases. This is addressed in this paper, by… (More)
It has been recognized that there is a need for a language mechanism that support re-use of collections of related classes. Existing approaches either use an enclosing class for this purpose, or introduce a special purpose, new language construct. In this paper we explore the use of packages for the grouping of related classes. Ordinary packages are already… (More)
In this paper we briefly introduce an aspect language that can define cross-cutting effects on a set of UML 2.0 sequence diagrams. Our main contribution is to weave aspects and sequence diagrams at the model level. By basing the weaving upon a formal trace model for sequence diagrams, we ensure that the weaving is semantics-based. To avoid the… (More)
In this paper, we show how package templates, a new mechanism for code modularization, paired with a comparatively (and intentionally) small AOP mechanism may be utilized to create a reusable package for the Observer design pattern that can be plugged into an existing architecture with a minimum of "glue code".
We show how package templates, a modularization mechanism originally developed for statically typed languages like Java and C#, can be applied to and implemented in a dynamic language like Groovy, by using the language's capabilities for meta-programming. We then consider a set of examples and discuss dynamic PT from the viewpoints of code modularization… (More)
In this paper we introduce an aspect language that can define cross-cutting e«ects on a set of UML 2.0 sequence diagrams. The aspects and sequence diagrams are woven at the model level. By basing the weaving upon a formal trace model for sequence diagrams, we ensure that the weaving is semantics-based. We propose the arbitrary events symbol as a wildcard… (More)