We present a framework for command processing in Java/Swing programs based on the model-view-controller (MVC) pattern. In addition to standard approaches our framework supports (1) centralized exception handling, (2) premature command termination, (3) pre-and postprocessing of commands, (4) undo/redo based on event objects and model listeners, and (5) generic undo/redo commands. The framework has been applied successfully in a number of graphical editors as part of a tool chain for real time programming. It proved to increase the quality of the software by eliminating local exception handlers and by confining the impact of undo/redo to a small add-on to the model part of the application.
This paper argues that a logical specification of the timing behavior, which represents the core abstraction of the Timing Definition Language (TDL), is the key to significantly reduce the development, maintenance and integration costs of FlexRay-based systems. We measured a productivity gain by a factor of 20 and more with TDL compared to state-of-the-art FlexRay development methods and tools (see Section 1). We illustrate how TDL allows the platform-independent modeling of the timing and functional behavior, and how we accomplish the automatic platform mapping. An outlook sketches future research activities.
Platform-neutral modeling with TDLA development methodology that deserves the attribute model-driven needs to support the platform-neutral design and simulation of software components. In other words, model-driven development of embedded automtotive software requires appropriate domain abstractions. They allow developers to ignore nasty details in the process of modeling automotive software systems. On the one hand, the challenge is to find abstractions that are high-level so that as many details as possible can be ignored. On the other hand, these abstractions must not be too disconnected from the underlying system so that efficient code can be generated out of the models.The Timing Definition Language (TDL) [6, 7, 12] is a pioneering domain-specific high-level modeling language for portable and deterministic hard real-time control systems, such as active rear-steering systems or x-by-wire systems. A TDL program explicitly specifies the exact real-time interactions of software components with each other and the physical world. The TDL compiler and bus schedule generator automatically generate the timing code and bus schedule(s) that ensure that the specified behavior on a given platform is equivalent to the one in the modeling and simulation phase, provided the platform offers sufficient computing and communication resources. Figure 1 illustrates schematically the consequence of model-driven development with TDL. In TDL a component, for example, called M1, is developed once. The automatic code generators allow the deployment on any platform with sufficient computing and communication resources. In case of FlexRay, M1 could be deployed on a FlexRay cluster1 with Motorola's PowerPC computing nodes and the realtime operating system AES from DeComSys [11] or on a FlexRay cluster2 with MicroAutoBox nodes from dSpace. Figure 1. A platform-independent TDL component M1 versus platform-specific components. Fourth International Workshop on Software Engineering for Automotive Systems (SEAS'07) 0-7695-2968-2/07 $20.00
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.