Applying model-driven development to distributed real-time and embedded avionics systems

Krishnakumar Balasubramanian, Arvind S. Krishna, Emre Turkay, Jaiganesh Balasubramanian, Jeff Parsons, Aniruddha Gokhale, Douglas C. Schmidt
2006 International Journal of Embedded Systems  
Model-driven development (MDD) is an emerging paradigm that uses domain-specific modeling languages (DSMLs) and generative technologies to provide "correct-by-construction" capabilities for many software development activities. This paper provides two contributions to the study of applying MDD to distributed real-time and embedded (DRE) systems that use standards-based quality of service (QoS)-enabled component middleware. First, it describes an MDD toolsuite called Component Synthesis using
more » ... Synthesis using Model-Integrated Computing (CoSMIC), which is a collection of DSMLs and generative tools that support the development, configuration, deployment, and validation of component-based DRE systems. Second, it describes how we have applied CoSMIC to an avionics mission computing application to resolve key component-based DRE system development challenges. Our results show that the design-, deployment-and quality assurance (QA)-time capabilities provided by the DSMLs and generative capabilities in CoSMIC help to eliminate key complexities associated with specifying packaging, configuring, validating, and deploying QoS-enabled component middleware applications in the DRE systems domain. Index Terms-Model-driven Development, CORBA Component Model, CoSMIC I. INTRODUCTION Emerging trends and challenges: Reusable software components and standards-based component models are increasingly being used to develop large-scale distributed real-time and embedded (DRE) systems [1]- [3] . This trend provides many advantages compared with earlier forms of DRE infrastructure software. For example, components provide higher-level abstractions than operating systems, third-generation programming languages, and earlier generations of middleware, such as distributed object computing (DOC) middleware. In particular, component middleware supports multiple views per component, transparent navigation, greater extensibility, and a higher-level execution environment based on containers, which alleviate many limitations of prior middleware technologies. The additional capabilities of component-based platforms, however, also introduce new complexities associated with composing and deploying DRE systems using components, including the need to (1) design consistent component interface definitions, (2) validate interactions between components and generate valid component deployment descriptors, (3) configure application components and the underlying middleware and platform correctly, (4) ensure that requirements
doi:10.1504/ijes.2006.014851 fatcat:i7id5onafffyhbswrxlooizkem