Using Aspect-GAMMA in the Design of Embedded Systems (Extended Abstract) MohammadReza Mousavi, Giovanni Russello, Michel Chaudron, Michel Reniers, Twan Basten Technische Universiteit Eindhoven (TU/e) P.O. Box 513, 5600 MB Eindhoven, The Netherlands Angelo Corsaro, Sandeep Shukla, Rajesh Gupta, Douglas C. Schmidt University of California at Irvine Irvine, CA 9269, USA Abstract This paper proposes a design framework that takes ad- vantage of the aspect-orientation paradigm. The proposed framework is based on the multi-set transformation lan- guage called GAMMA, used for the functional aspect, to- gether with a set of modelling notations for other aspects of system design, namely coordination, timing, and distribu- tion. 1 Introduction Separation of concerns is one of the concepts at the core of modern system design and evolution. It has been advo- cated as a key principle for reducing the complexity of de- veloping large-scale systems [10, 7]. In particular, in [7], orthogonalization of concerns has been illustrated in the context of embedded system design. It advocates capturing the design intent at the highest possible level of abstraction, and separating the timing, concurrency, and communication concerns. However, since the methodology is couched in the platform-based design methodology, the highest level of abstraction in most cases is some form of finite state ma- chines. From our perspective, finite state machines already mix control and data-flow concerns in the system. There- fore, we propose raising the level of abstraction, and sepa- rating concerns from the very inception of the ideas of the system under design. Separation of concerns (especially the cross-cutting ones such as timing) brings about the following benefits in the design, verification and implementation phases: 1. More focused design and lighter verification. One of the main difficulties in the design of some concerns is that they usually crosscut the responsibility of sev- eral encapsulation units (components, modules, or ob- jects). Thus a design time separation of concerns al- lows for a more focused design method that gathers cross-cutting concerns in one dedicated place. Further- more, properties related to a concern (set of concerns) can be verified by looking at the particular concern (combination of concerns) instead of the entire design. 2. Localized change. In this paradigm making and track- ing changes is localized to the involved aspects. Sub- sequently, a (possibly automated) composition process (also referred to as weaving process) spreads the con- sequences of change to the composed behavior of a system. 3. Abstractness from other modeling methods. By using separate modeling techniques for different aspects, one may decide to change the modeling formalism of one aspect and still be able to use the other aspect models. This paper combines a formal design framework, which is based on a multi-set transformation language called GAMMA [1, 2], with aspect-oriented development con- cepts from software engineering [4, 8]. We refer to design concerns as aspects following the software terminology. We illustrate how having a tailor-made formalism for each as- pect, that is abstracted from other aspects, is a key benefit of such a design framework. To clarify our discussions, we sketch an architecture specification and design method for distributed real-time embedded systems. We propose sep- arating the concerns of computation, coordination, timing, and distribution, through different simple and abstract nota- tions for these aspects. We also propose a weaving process that maps combinations of these different aspects to a for- mal semantics domain. The remainder of this paper is organized as follows: Sec- tion 2 discusses computation, coordination, timing, and dis- tribution as different aspects of a design and suggests lan- guages/notations to specify them. Section 3 proposes a sim- ple model of weaving the functional and non-functional as- pects in a single semantic model. Section 4 presents a small