Skip to main content
Log in

Formal semantic conflict detection in aspect-oriented requirements

  • RE'08 Special Issue
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

The goal of Aspect-Oriented Requirements Engineering is to identify possible crosscutting concerns, and to develop composition specifications, which can be used to reason about potential conflicts in the requirements. Recent work in AORE has moved from a syntactic approach to composition, which leads to fragile compositions and increased coupling between aspect and base concerns, to a semantic composition approach, based on semantics of the natural language itself. However, such compositions are at present only informally specified, and as such precise conflict detection between the requirements compositions is difficult. We present an approach for the formalisation of these semantic-based compositions which means that logical conflicts between compositions can be precisely identified and understood semantically. We show that the approach can be supported by off-the-shelf tools, meaning it is scalable and feasible for even large requirements specifications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. Here, a pointcut is an expression which can pick out one or more requirements or other elements at which the composition applies.

  2. If such models for requirements are available, they should be used in addition (if only part of system is represented via these, and some other part is described in text only) or instead (if the whole system is modelled via such diagrams) of textual requirements.

  3. Here, the base refers to those requirements which are affected by the aspects.

  4. A similar example for the use case approach [3] is presented in [4].

  5. The formal semantics of the indicative conditional—that is, the intuitive understanding of the natural language statement “if A then B”—is one of the classic unsolved problems in formal logic. Here we make no attempt to add to this literature, but instead present a formulation which captures what we require to be true for a composition to be correctly applied—in the case of “if”, that either both requirements are satisfied, or neither of them are.

  6. We do not claim that these represent the total set of conflicts possible within a requirements specification.

  7. Note that X and Z may actually be temporally exclusive if the Before(X,Z) relation holds true, but we cannot tell whether this is the case from the information we have here.

References

  1. Rashid A, Moreira A, Araujo J (2003) Modularisation and composition of aspectual requirements. In: Proceedings of the 2nd international conference on aspect-oriented software development. ACM Press, Washington DC, pp 11–20

  2. Moreira A, Rashid A, Araujo J (2005) Multi-dimensional separation of concerns in requirements engineering. In: RE ’05: proceedings of the 13th IEEE international conference on requirements engineering (RE’05). IEEE Computer Society, Washington, DC, pp 285–296

  3. Jacobson I, Ng P-W (2004) Aspect-oriented software development with use cases (Addison-Wesley Object Technology Series). Addison-Wesley Professional, USA

  4. Chitchyan R, Rashid A, Rayson P, Waters R (2007) Semantics-based composition for AORE. In: AOSD ’07: proceedings of the 6th international conference on Aspect-oriented software development. ACM Press, New York, pp 36–48

  5. Dixon RMW (2005) A semantic approach to English grammar, 2nd edn. Oxford University Press, Oxford

  6. Allen JF (1983) Maintaining knowledge about temporal intervals. Commun ACM 26(11):832–843

    Article  MATH  Google Scholar 

  7. Allen JF, Ferguson G (1994) Actions and events in interval temporal logic. J Logic Comput 4:531–579

    Article  MATH  MathSciNet  Google Scholar 

  8. Luisa M, Mariangela F, Pierluigi I (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56

    Article  Google Scholar 

  9. Easterbrook S, Yu E, Aranda J, Fan Y, Horkoff J, Leica M, Qadir RA (2005) Do viewpoints lead to better conceptual models? an exploratory case study. In: RE ’05: proceedings of the 13th IEEE international conference on requirements engineering. IEEE Computer Society, Washington, DC, pp 199–208

  10. France RB, Kim D-K, Ghosh S, Song E (2004) A uml-based pattern specification technique. IEEE Trans Softw Eng 30(3):193–206

    Article  Google Scholar 

  11. Mehner K, Monga M, Taentzer G (2006) Interaction analysis in aspect-oriented models. In: RE ’06: proceedings of the 14th IEEE international requirements engineering conference (RE’06). IEEE Computer Society, Washington, DC, pp 66–75

  12. Mostefaoui F, Vachon J (2007) Design-level detection of interactions in aspect-uml models using alloy. J Object Technol 6(7):137–165

    Google Scholar 

  13. Sabetzadeh M, Easterbrook S (2005) An algebraic framework for merging incomplete and inconsistent views. In: RE ’05: proceedings of the 13th IEEE international conference on requirements engineering. IEEE Computer Society, Washington, DC, pp 306–318

  14. Dardenne A, Van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci cComput Program 20(1):3–50

    Google Scholar 

  15. Van Lamsweerde A (2001) Goal-oriented requirements engineering: A guided tour. In: RE ’01: proceedings of the fifth IEEE international symposium on requirements engineering (RE ’01). IEEE Computer Society, Washington, DC, p 249

  16. Whittle J, Araujo J (2004) Scenario modeling with aspects. IEE Proce Softw 151(4):157–172

    Google Scholar 

  17. Chitchyan R, Rashid A, Sawyer P (2005) Comparing requirements engineering approaches for handling crosscutting concerns. In: Workshop on requirements engineering (held with CAiSE), Porto, Portugal

  18. Quirk R (1985) A comprehensive grammar of the English language. Longmans, London, New York

    Google Scholar 

  19. Sommerville I (2004) Software engineering, 7 edn. Addison-Wesley, USA

  20. Sampaio A, Rashid A, Chitchyan R, Rayson P (2007) Ea-miner: Towards automation in aspect-oriented requirements engineering. Trans Aspect-Oriented Softw Dev 3(4):4–39

    Article  Google Scholar 

  21. Chitchyan R, Rashid A (2006) Tracing requirements interdependency semantics. In: Proceedings of the workshop on early aspects (held with fifth international conference on Aspect-Oriented Software Development (AOSD 06)), Bonn, Germany, pp 11–18

  22. Chitchyan R, Pinto M, Rashid A, Fuentes L (2007) Compass: composition-centric mapping of aspectual requirements to architecture. Trans AOSD 1(4):3–53

    Google Scholar 

  23. Boyd S, Zowghi D, Farroukh A (2005) Measuring the expressiveness of a CNL: an empirical study. In: RE ’05: proceedings of the 13th IEEE international conference on requirements engineering. IEEE Computer Society, Washington, DC, pp 339–352

  24. Berry D, Kamsties E (2004) Ambiguity in requirements specifications. Perspecttives on requirements engineering. Kluwer, Dordrecht, pp 7–44

  25. Kamsties E (2005) Understanding ambiguity in requirements engineering. In: Aurem A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 245–266

  26. Somers H (2003) Computers and Translation: A Translator’s Guide. John Benjamins Publishing Company, Amsterdam

  27. Alqvist I, Hein AS (1996) Defining scaniaswedish—a controlled language for truck maintenance. In: International workshop on controlled language applications (CLAW96). Universiteit Leuven Centre for Computational Linguistics, Leuven, pp 159–167

  28. Muegge U (2007) Controlled language: the next big thing in translation? ClientSide News Mag 7(7):21–24

    Google Scholar 

  29. Sommerville I, Sawyer P (1997) Requirements engineering: a good practice guide. Wiley, New York

  30. Chitchyan R, Sampaio A, Rashid A, Sawyer P, Khan SS (2006) Initial version of aspect-oriented requirements engineering model. Technical Report AOSD-Europe Deliverable D36, AOSD-Europe-ULANC-17, Lancaster University, 14 February 2006

  31. Rayson P (2008) Wmatrix: a web-based corpus processing environment. Technical report, Computing Department, Lancaster University

  32. Prover9. Home page of the prover9 theorem prover. http://www.cs.unm.edu/mccune/mace4/

  33. Araujo J, Whittle J, Kim D-K (2004) Modeling and composing scenario-based requirements with aspects. In: RE ’04: proceedings of the requirements engineering conference, 12th IEEE international. IEEE Computer Society, Washington, DC, pp 58–67

  34. Laney R, Barroca L, Jackson M, Nuseibeh B (2004) Composing requirements using problem frames. In: RE ’04: proceedings of the requirements engineering conference, 12th IEEE international. IEEE Computer Society, Washington, DC, pp 122–131

  35. Brito IS, Vieira F, Moreira A, Ribeiro R (2007) Handling conflicts in aspectual requirements compositions. Trans Aspect Oriented Softw Dev (TAOSD) 24(11):908–926

    Google Scholar 

  36. Nelken R, Francez N (1996) Automatic translation of natural language system specifications. In: CAV ’96: proceedings of the 8th international conference on computer aided verification. Springer-Verlag, London, pp 360–371

  37. Katz S, Rashid A (2004) From aspectual requirements to proof obligations for aspect-oriented systems. In: RE ’04: proceedings of the requirements engineering conference, 12th IEEE international (RE’04). IEEE Computer Society, Washington, DC, pp 48–57

  38. Letier E, van Lamsweerde A (2002) Deriving operational software specifications from system goals. SIGSOFT Softw Eng Notes 27(6):119–128

    Article  Google Scholar 

  39. Galton A (1990) A critical examination of allen’s theory of action and time. Artif Intell 42(2–3):159–188

    Article  MATH  MathSciNet  Google Scholar 

  40. Gomez F, Segami C (2007) Semantic interpretation and knowledge extraction. Know Based Syst 20(1):51–60

    Article  Google Scholar 

Download references

Acknowledgments

This work is supported by: European Commission Grant: AOSD-Europe: European Network of Excellence on Aspect-Oriented Software Development (IST-2-004349); European Commission Grant: AMPLE: Aspect-Oriented and Model-Driven Product Line Engineering (IST-33710); European Commission Grant: DiVA: Dynamic Variability In Complex, Dynamic Systems (ICT-215412).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nathan Weston.

Appendices

Appendix A: Formal compositions for the auction system

1.1 A.1 EnrolComposition

figure e
$$ \begin{aligned} EnrolComposition &\equiv \forall r, s. (Concern(s) = ``Enrol{\hbox {''}})\\ &\rightarrow (\exists k. Meets(Time(s), k) \wedge (Meets(k, Time(r))\\ &\wedge pre(s) = \neg In(``user{\hbox {''}}, ``system{\hbox {''}})\\ &\wedge post(s) = In(``user{\hbox {''}}, ``system{\hbox {''}})\\ &\wedge Finishes(pre(s), Time(s))\\ &\wedge Meets(Time(s), post(s))\\ \end{aligned} $$

1.2 A.2 LoggingComposition

figure f
$$ \begin{aligned} LoggingComposition &\equiv \forall r, s. (Concern(s) = ``AccessControl{\hbox {''}})\\ &\rightarrow (\exists k. Meets(Time(s), k) \wedge (Meets(k, Time(r))\\ &\wedge pre(s) = In(``user{\hbox {''}}, ``system{\hbox {''}}) \wedge\\ &\neg Authenticated(``user{\hbox {''}}, ``system{\hbox {''}})\\ &\wedge post(s) = In(``user{\hbox {''}}, ``system{\hbox {''}})\\ &\wedge Authenticated(``user{\hbox {''}}, ``system)\\ &\wedge Finishes(pre(s), Time(s))\\ &\wedge Meets(Time(s), post(s))\\ \end{aligned} $$

1.3 A.3 ConcurrencyComposition

figure g
$$ \begin{aligned} ConcurrencyComposition &\equiv \forall r,s. Relationship(r)=``bid{\hbox {''}} \vee\\ &(Relationship(r)=``increase{\hbox {''}} \wedge Object(r)=``credit)\\ &\wedge Concern(s)=``Concurrency{\hbox {''}} \rightarrow Concurrent(Time(s), Time(r))\\ &\wedge con(s) = Concurrent(``auction\; system{\hbox {''}})\\ &\wedge Concurrent(con(s), Time(s))\\ \end{aligned} $$

1.4 A.4 ManageBidComposition

figure h
$$ ManageBidComposition \equiv ManageBidComposition_1 \wedge ManageBidComposition_2 $$
$$ \begin{aligned} ManageBidComposition_1 &\equiv \forall r,s. (Relationship(r)=``start{\hbox {''}})\\ &\wedge((Subject(r)=``auction{\hbox {''}} \vee Subject(r)=``start\; date{\hbox {''}})\\ &\wedge(Relationship(s)=``bid{\hbox {''}}) \rightarrow\\ &\exists k. Meets(Time(s),k) \wedge Meets(k, Time(r))\\ &\wedge Starts(Time(s), Time(``auction{\hbox {''}}))\\ \end{aligned} $$
$$ \begin{aligned} ManageBidComposition_2 &\equiv \forall r,s. (Relationship(r)=``bid{\hbox {''}})\\ &\wedge((Subject(s)=``auction{\hbox {''}} \vee Subject(s)=``end\; date{\hbox {''}})\\ &\wedge (Relationship(s)=``end{\hbox {''}}) \rightarrow\\ &\exists k. Meets(Time(s),k) \wedge Meets(k, Time(r))\\ &\wedge Finishes(Time(r), Time(``bid{\hbox {''}}))\\ \end{aligned} $$

1.5 A.5 CalculateBidComposition

figure i
$$ \begin{aligned} CalculateBidComposition &\equiv \forall r,s,t. (Subject(r)=``auction{\hbox {''}}\\ & \wedge Relationship(r)=``end{\hbox {''}})\\ & \wedge (Subject(s)=``system{\hbox {''}} \wedge Relationship(s)=``deposit{\hbox {''}}\\ & \wedge Object(s)=``bid{\hbox {''}})\\ & \wedge (Subject(t)=``bid{\hbox {''}} \wedge Relationship(t)=``not\; less\; than{\hbox {''}}\\ & \wedge Relationship(t)=``reserve\; price{\hbox {''}}) \rightarrow\\ & \exists k. (Meets(Time(r), k) \wedge Meets(k, Time(s)))\\ & \wedge pre(s) = \neg Has(``system{\hbox {''}}, ``bid{\hbox {''}})\\ & \wedge post(s) = Has(``system{\hbox {''}}, ``bid{\hbox {''}})\\ & \wedge Finishes(pre(s), Time(s)) \wedge Meets(Time(s), post(s))\\ & \wedge (Retain(s) \rightarrow \neg LessThan(``bid{\hbox {''}}, ``reserve price{\hbox {''}}))\\ \end{aligned} $$

1.6 A.6 CancelAuctionComposition

figure j
$$ \begin{aligned} CancelAuctionComposition &\equiv \forall r,s,t. (Subject(r)=``auction{\hbox {''}}\\ & \wedge Relationship(r)=``begin{\hbox {''}})\\ & \wedge (Subject(s)=``seller{\hbox {''}} \wedge Relationship(s)=``end{\hbox {''}}\\ & \wedge Object(s)=``auction{\hbox {''}})\\ & \wedge (Subject(t)=``start\; date{\hbox {''}} \vee Object(t)=``start\;date{\hbox {''}}) \rightarrow\\ & \neg (Satisfied(s) \wedge Satisfied(r))\\ & \wedge (Starts(Time(Begin(s)), Time(``auction{\hbox {''}})) \rightarrow Satisfied(t)) \end{aligned} $$

1.7 A.7 ValidateBidComposition

figure k
$$ \begin{aligned} ValidateBidComposition &\equiv \forall r,s. Relationship(r)=``bid{\hbox {''}}\\ &\wedge Concern(s)=``Validate\; Bid{\hbox {''}} \rightarrow\\ &\exists k. Meets(Time(s), k) \wedge (k, Time(r))\\ &\wedge pre(s) = \neg Valid(``bid{\hbox {''}})\\ &\wedge post(s) = Valid(``bid{\hbox {''}})\\ &\wedge Finishes(pre(s), Time(s)) \wedge Meets(Time(s), post(s)) \end{aligned} $$

Appendix B: Prover9 example

2.1 B.1 pre(t) and post(s)

2.1.1 B.1.1 Input to Prover9

figure l

2.1.2 B.1.2 Proof (no conflict)

figure m

2.2 B.2 pre(s) and post(t)

2.2.1 B.2.1 Input to Mace4

figure n

2.2.2 B.2.2 Model of negation (conflict)

figure o

Rights and permissions

Reprints and permissions

About this article

Cite this article

Weston, N., Chitchyan, R. & Rashid, A. Formal semantic conflict detection in aspect-oriented requirements. Requirements Eng 14, 247–268 (2009). https://doi.org/10.1007/s00766-009-0083-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-009-0083-y

Keywords

Navigation