Model-driven engineering of component-based distributed, real-time and embedded systems
Although distributed object computing (DOC) middleware, such as the Common Object Request Broker (CORBA) and Java Remote Method Invocation (RMI), were a significant improvement over prior middleware for developing distributed systems, DOC middleware has several significant limitations. Key limitations of DOC middleware include the inability to provide multiple alternate views of services on a per-client basis, inability to navigate between interfaces in a standardized fashion, low-level mechanisms for specification and enforcement of policies, complexity of middleware configuration, and ad hoc deployment techniques. Standards-based component middleware, such as Enterprise Java Beans,the CORBA Component Model (CCM) and Microsoft .NET, improve upon DOC middleware by providing higher-level abstractions for expression and realization of design intent and flexibility of configuration. Component middleware, however, has significant limitations for enterprise distributed real-time and embedded (DRE) systems. Key limitations of component middleware for DRE systems include the lack of system composition tools, complexity of the declarative platform notations and API, composition overhead in large-scale component systems and complexity in integrating commercial-off-the-shelf component middleware technologies. This dissertation provides three contributions to the design, optimization and integration of component-based enterprise DRE systems. First, it describes the design and implementation of the Platform-Independent Component Modeling Language (PICML), which is a domain-specific modeling language (DSML) toolchain that allows multi-level, flexible, and scalable composition of systems and automates generation of metadata for component middleware platforms, such as CCM. Second, it describes a model-driven framework that incorporates a new class of optimization techniques applicable during deployment of component-based DRE systems and evaluates the benefits of these optimization techniques on representative DRE systems. Finally, it describes an approach to functional integration of component-based systems using the composition of DSMLs. The results presented in the dissertation show that the capabilities provided by the PICML toolchain -- combined with its design- and deployment-time validation capabilities -- eliminates many common errors associated with conventional techniques. Moreover, PICML reduces the overhead incurred in large-scale component-based systems by improving footprint and latency. PICML also provides significant benefits with respect to automation and eusability when integrating component-based DRE systems compared to conventional tools, processes, and methods.