Afternoon Master Class, Thursday November 2, 2006 Model-driven Development of Component-based Systems in Cadena John Hatcliff (Kansas State University) The use of component models such as Enterprise Java Beans and the CORBA Component Model (CCM) in application development is expanding rapidly. Even in real-time safety/mission-critical domains, component-based development is beginning to take hold as a mechanism for incorporating non-functional aspects such as real-time, quality-of-service, and distribution. To form an effective basis for development of such systems in large-scale industrial contexts, we believe that a variety of modeling and analysis capabilities will be required including meta-modeling facilities for describing product-line architectures, light-weight formal specifications, behavioral and dependence analysis, and code generation facilities. This lecture will present an overview of Cadena -- a sophisticated integrated development environment for building and modeling large-scale component-based systems of systems using widely-used component models such as EJB, CCM, and domain-specific component frameworks. The talk will focus on Cadena's multi-level type-based meta-modeling framework for capturing component-based product-line architectures and various notions of architectural refinement. In this framework, type signatures define contracts for Cadena plug-in points at which different analysis, visualization, and code generation capabilities can be plugged into Cadena to customize the tool environment to particular development scenarios. The architectural refinement relations give rise to a rational framework for plug-in re-use across all architectures whose type signature conforms to the architecture at which the plug-in was originally defined. Cadena is implemented within IBM's Eclipse IDE, and it has been used by research engineers at Boeing, Lockheed Martin, and Rockwell Collins to demonstrate the effectiveness of model-driven component-based product-line development for avionics and command-and-control systems.