Designs almost always require trade-offs between competing design choices to meet pervasive system dependability requirements (e.g., security, performance and fault tolerance system goals). In some cases, dependability requirements are realized by functionality that cross-cuts designs. Aspect-oriented modeling (AOM) methods allow developers to localize such cross-cutting functionality in design modeling views called aspects. Aspects can be composed with other design views to obtain an integrated view of a design. This paper presents a technique that extends such methods to cover dependability requirements that are not directly realized by functional structures in a design. Performance goals provide examples of such requirements. We also present a trade-off mechanism to rank feasible solutions with respect to requirements priorities between different dependability requirements. The paper applies this technique to an example that has performance, fault-tolerance, and security requirements.
['Anneliese Amschler Andrews', 'Per Runeson', 'Robert B. France']
Requirements trade-offs during UML design