Use Constraint Hierarchy for Non-functional Requirements Analysis
Non-functional requirements are critical in web engineering applications, but often ignored. Usually, these are articulated as statements of objectives, as opposed to prepositional assertions. A key challenge in dealing with objectives is that there is no obvious means of deciding when they are satisfied. In effect, these objectives are never fully satisfied, but satisficed to varying degrees. Alternative design decisions need to trade-off varying degrees of satisfaction of potentially mutually contradictory non-functional requirements. The key contribution of this paper is the use of the hierarchical constraint logic programming framework [3, 6] in dealing with non-functional requirements. We show how NFRs can be formulated as soft constraints and how the machinery associated with constraint hierarchies can be used to evaluate the alternative trade-offs involved in seeking to satisfy a set of non-functional requirements that might pull in different directions.
KeywordsQuality Factor Logic Programming Soft Constraint Repair Time Constraint Logic Programming
- 1.Len, B., Clements, P., Kazman, R.: Software architecture in practice, Boston. Addison-Wesley, Reading (2003c)Google Scholar
- 3.Wilson, M., Boring, A.: Hierarchical Constraint Logical Programming, Journal of logic programming (1993)Google Scholar
- 4.Fan, M., Stallaert, J., Whinston, A.B.: A Web-Based Financial Trading System. Computer archive 32(4), 64–70 (1999)Google Scholar
- 5.Rudová, H.: Constraint Satisfaction with Preferences, Ph.D. Thesis (2001)Google Scholar
- 6.Wilson, M.: Hierarchical Constraint Logic Programming, Technical Report 93-05-01, University of Washington (PhD Dissertation) (May 1993)Google Scholar