Domain-Specific Modelling for Cross-Platform Product Families Steven Kelly & Risto Pohjonen MetaCase Consulting, stevek@metacase.com, rise@metacase.com Abstract. Domain-specific modelling has proved its worth for improving devel- opment speed and dependability of applications. By raising the level of abstrac- tion away from the code and towards the structure and behaviour of an applica- tion, it also offers good possibilities for generating the same application from the same models, but for a wide variety of client platforms. This paper examines one example of domain-specific modelling for an embedded application, and how that was extended to a mobile platform. 1 Introduction This paper presents a modelling language for implementing software applications for cross-platform digital wristwatch applications. In general it is an example of how such a domain-specific modelling environment (later referred to as DSM environment) can be implemented in a metaCASE tool such as MetaEdit+. In particular, we are inter- ested in how well a DSM approach can adapt to cope with new platforms. In this section we discuss DSM and the watch modelling language from the point of view of a modeller using it. Section 2 describes the architecture behind the watch ex- ample from the point of view of a metamodeller creating the DSM environment. Sec- tion 3 looks at the extension of the watch example to the MIDP world. MIDP is the Mobile Information Device Profile, a Java platform for building applications to run on small devices such as mobile phones or PDAs. As the MIDP platform did not even ex- ist when the watch example was originally made, it provides a good test of how well a DSM solution can cope with major unforeseen changes in the platform. First, a proviso: the watch example is not strictly a real industrial example, since the authors are not in the business of making digital watches. It was included with the au- thors’ MetaEdit+ metaCASE tool as a fully-worked example, and thus aims to be as realistic as possible. With the advent of mobile phones supporting MIDP, it is now a true application with real users. Given the dearth of experience reports on DSM, hope- fully even with the proviso this report will still prove useful. 1.1 Introduction to Domain-Specific Modelling Why develop a DSM environment for modelling watches? Why not adopt some pre- existing general-purpose modelling language and a ‘standard’ CASE tool, then write