1 A UML profile for the TACO protocol processing platform Dragos Truscan Embedded Systems Laboratory Turku Centre for Computer Science Lemmink¨ aisenkatu 14, FIN-20520 Turku, Finland email: dragos.truscan@abo.fi Abstract— The Unified Modeling Language (UML) gained increased popularity in recent years for system specification. Although intended for software development, UML can also bring benefits to hardware specification especially for integra- tion of hardware based platforms with UML methodologies and tools. In this paper we intend to evaluate the benefits of extending UML to model hardware components and we define a UML profile for a protocol processing platform. I. I NTRODUCTION Model-driven development has lately become one of the necessary approaches to deal with the increasing complexity of nowadays embedded systems, by providing well-defined abstract models of the systems and support for automation. The Unified Modelling Language (UML) [1], one of the most used modeling language, gained increased popularity in the software engineering community, where a wide range of methodologies and tools adopted it as the de facto lan- guage for modelling software. Although initially created for software specification, UML can be extended and applied to other domains using the extensibility mechanisms, i.e. profiles, it provides. This allows not only to represent other concepts using UML notations, but also to integrate them with existing UML tools and methodologies. We consider that certain benefits of UML can be ex- ploited and applied to other areas, e.g. embedded systems. ES are a combination of software and hardware, where both of them are equally important during the specification and design phases. Currently, when developing embedded systems most of the time several tools are used to model the systems at different steps of the process. Moreover, different languages and terminology are used when modeling soft- ware and hardware, maintaining the conceptual gap between the too. Adapting UML to model hardware would allow to model both hardware and software in the same (UML) tool, and to provide a uniform (”unified”) language to be used by both software and hardware designers. In our work we address the development of protocol pro- cessing applications. We employ a model-driven approach [2] [3] where the application is specified, using UML and data-flow diagrams to model different views of the system, independently of the implementation platform. The process is supported by tools and the transition from one view to another is automated using model transformations. When a sufficient level of detail is reached the specification is transformed into a platform-dependent specification imple- mented on the target platform. During the implementation process the platform is configured to support the application and the corresponding processor code is created [4]. In our approach the target platform can be any kind of software or hardware platform starting from C or C++ applications to hardware circuits. In a previous case study [5], an IPv6 Router was designed and implemented on a protocol processing platform. The components of the platform are organized as a library of components, from which, at design time, only those resources needed to support the application are selected and used as implementation platform. To benefit of the model-driven techniques developed in the previous work, and in the same time, to facilitate the use of a single UML graphical environment during the specification and design process, the need to integrate information on the implementation platform with UML tools was felt. We decided to create a UML profile for our protocol processing platform. Several UML profiles have been proposed in literature, but only few address the architecture of hardware platforms. Moreover, some of them use UML as a language for documenting the process artifacts, while we want to benefit from the UML models to provide tool support and automation. The main contributions of this work are: to investigate the possibility of representing hardware components using UML, to propose a profile for a protocol processing plat- form and to investigate its benefits. Following, our protocol processing platform is briefly introduced in Section II. Section III describes how the platform was modeled using UML elements and how the profile was specified and implemented. Section IV presents how instances of the platform can be modeled in UML tools and how the platform components can be manipulated and architectural constraints of the platform enforced using the scripting facilities of the tools. The paper concludes with a brief discussion on benefits and possible enhancements. II. TACO FRAMEWORK TACO (Tools for Application-specific hardware/software CO-design) [6] is an integrated design framework for fast prototyping, simulation, estimation and synthesis of pro- gramable protocol processors based on the Transport Trig- gered Architecture (TTA) architecture [7]. TACO processors are simulated using a SystemC [8] model, their physical parameters (like area and power use) are estimated in a Mat- lab model and the processor configurations are synthesized using a VHDL model. The SystemC and VHDL models are co-developed so that module characteristics in both models are the same. The processor’s resources are organized in a library of components, i.e. TACO Component Library, from which the designer can create processor configurations by selecting those resources needed to implement a given application. The development process in TACO [2] [6] consists of two phases. In the first, i.e. qualitative configuration, the proces- sor resources types needed to support the functionality of the application are identified. In the second, i.e. quantitative configuration, the number of resources of each type is decided, in order to provide the required performance with