Automated Component-Based Software Engineering
John Grundy,Guoliang Ding,John Hosking,Shiping Chen,Yan Liu,Ian Gorton,Anna Liu,Gerald C Gannod,Sudhakiran V Mudiam,Timothy E Linquist
2004-01-01
Abstract:Following the successful 5th ICSE Workshop on Component-Based Software Engineering: Automated Component-Based Software Engineering held in Orlando, Florida, in May 2002, this special issue of The Journal of Systems and Software is devoted to automated component-based software engineering. We depend on software components for everyday activities at work, at home, in traffic and transport, banking, health, telecommunications, defence and other areas. Many times the software components are part of missioncritical functions and services provided in these domains. Primary reasons for component production and deployment are: separability of components from their context; independent component development, testing, configuration and later reuse; upgrade and replacement in running systems. However, compositionality of component-based systems is often taken for granted. Moreover, component technologies are not entirely independent of particular hardware or operating platforms, programming languages or the specific middleware technology in which they are based. Ideally, the development, quality control, and deployment of software components should be automated similarly to other engineering domains, which deal with the construction of large systems from well-understood components with predictable properties and under acceptable budget and timing constraints. Automated component-based software engineering is emerging as a field of study in software engineering. There are many open issues that need to be resolved before a component-based approach can make a significant impact on mission-critical software automation. Methods must be developed that allow measurement and prediction of functional and extra-functional characteristics such as availability, adaptability, security, and performance. Analysis and design methodologies whose goals are automation or partial automation are still lacking in the required formalisation and automation support. Middleware technologies such as Microsoft’s .NET and Sun Microsystem’s EJB are slowly moving into the domain of automated component-based software engineering. Their emphasis is typically on generation, such as glue code generation or user-interface generation; support for automated testing and quality control is only nascent.