The Palladio Component Model (PCM) is one of the core assets of the Palladio approach. It is designed to enable early performance, reliability, maintainability, and cost predictions for software architectures and is aligned with a component-based software development process. The PCM is implemented using the Eclipse Modeling Framework (EMF).
The Palladio Component Model captures the software architecture with respect to static structure, behaviour, deployment/allocation, resource environment/execution environment, and usage profile. In the Palladio Component Model, software is described in terms of components, connectors, interfaces, individual service behaviour models (so-called Service Effect Specifications, SEFF), servers, middleware, virtual machines, network, the allocation of components and servers, models of the user interaction with the system, etc. Overall, the PCM captures multiple views of software systems including elements which affect the extra-functional properties (e.g. performance, reliability) of software systems.
Due to a high degree of parameterisation, instances of the Palladio Component Model are largely reusable. If for example the usage profile of a software system changes, only the usage profile model needs to be adapted. All component specifications etc. can be reused. During analyses, Palladio automatically accounts for the impact of the changed usage profile.
We have implemented an integrated modelling environment (called Palladio-Bench) based on the Eclipse Rich Client Plattform. It enables developers to create PCM model instances with graphical editors and conduct analyses (using analytical techniques and simulation), resulting in for example performance and reliability metrics from the PCM models.