The W model for component-based software development should be one in the below figure. The model was defined in our publication back in 2011.
Essentially, the W model comprises of two life cycles:
- Component life cycle: identify components, construct components and build (domain specific) component repository.
- System life cycle: select components, instantiate (and adapt) components and construct systems.
The X-MAN II toolset fully supports the W model by using the underpinning X-MAN component model. X-MAN component model has distinctive features:
- Components are encapsulated. They do not have functional dependencies among themselves. Simply put, they do not call each others. This is very different to objects.
- Components are coordinated by means of composition connectors which are control structures: sequencing, branching, gating and looping. These control structures give Turing completeness and it is possible to construct any programs using them.
- Composition is algebraic and hierarchical and hence X-MAN is scalable.