Skip to Main Content
Software support for multiple hardware threads like the Pentium 4's hyperthreading technology or the upcoming multi-core desktop processors is required even for traditional single processor domains like home and office systems. Although the modeling of concurrent systems is already quite advanced, the current engineering practice usually does not yield highly concurrent applications without significant extra efforts due to several limitations of most methods for concurrent systems design. Unlike other methods, we consider the problem as a deployment problem where the software components need to be deployed on different multiple execution units depending on the system configuration. To overcome this, we present a component model and design approach based on the execution semantics of UML 2.0 Activities that enables the efficient design and construction of software applications with increased inherent concurrency and scalability for multi-processor platforms. The application of the approach and its benefits are demonstrated in a real world Web server example.