Component Based Visual Software Engineering

In an effort to manage increasing complexity and to maximise the reuse of code, the software engineering community has in recent years put considerable effort into the design and development of component-based software development systems and methodologies. The concept of building software from existing components arose by analogy with the way that hardware is now designed and built, using cheap, reliable standard " off-the-shelf " modules. Because of the analogy with wiring hardware components , component-based software development is a natural candidate for visual expression. Various component software technologies have emerged as a result of this attention, but their evolution has been rather ad hoc. In fact, some systems are defined purely by their implementation with little or no precise definition. In an attempt to address this shortcoming, we propose a well-defined syntax and semantics for a component software model that captures the essential concepts.