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.
Similar content being viewed by others
Notes
Here, a pointcut is an expression which can pick out one or more requirements or other elements at which the composition applies.
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.
Here, the base refers to those requirements which are affected by the aspects.
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.
We do not claim that these represent the total set of conflicts possible within a requirements specification.
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
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
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
Jacobson I, Ng P-W (2004) Aspect-oriented software development with use cases (Addison-Wesley Object Technology Series). Addison-Wesley Professional, USA
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
Dixon RMW (2005) A semantic approach to English grammar, 2nd edn. Oxford University Press, Oxford
Allen JF (1983) Maintaining knowledge about temporal intervals. Commun ACM 26(11):832–843
Allen JF, Ferguson G (1994) Actions and events in interval temporal logic. J Logic Comput 4:531–579
Luisa M, Mariangela F, Pierluigi I (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56
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
France RB, Kim D-K, Ghosh S, Song E (2004) A uml-based pattern specification technique. IEEE Trans Softw Eng 30(3):193–206
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
Mostefaoui F, Vachon J (2007) Design-level detection of interactions in aspect-uml models using alloy. J Object Technol 6(7):137–165
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
Dardenne A, Van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci cComput Program 20(1):3–50
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
Whittle J, Araujo J (2004) Scenario modeling with aspects. IEE Proce Softw 151(4):157–172
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
Quirk R (1985) A comprehensive grammar of the English language. Longmans, London, New York
Sommerville I (2004) Software engineering, 7 edn. Addison-Wesley, USA
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
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
Chitchyan R, Pinto M, Rashid A, Fuentes L (2007) Compass: composition-centric mapping of aspectual requirements to architecture. Trans AOSD 1(4):3–53
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
Berry D, Kamsties E (2004) Ambiguity in requirements specifications. Perspecttives on requirements engineering. Kluwer, Dordrecht, pp 7–44
Kamsties E (2005) Understanding ambiguity in requirements engineering. In: Aurem A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 245–266
Somers H (2003) Computers and Translation: A Translator’s Guide. John Benjamins Publishing Company, Amsterdam
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
Muegge U (2007) Controlled language: the next big thing in translation? ClientSide News Mag 7(7):21–24
Sommerville I, Sawyer P (1997) Requirements engineering: a good practice guide. Wiley, New York
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
Rayson P (2008) Wmatrix: a web-based corpus processing environment. Technical report, Computing Department, Lancaster University
Prover9. Home page of the prover9 theorem prover. http://www.cs.unm.edu/mccune/mace4/
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
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
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
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
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
Letier E, van Lamsweerde A (2002) Deriving operational software specifications from system goals. SIGSOFT Softw Eng Notes 27(6):119–128
Galton A (1990) A critical examination of allen’s theory of action and time. Artif Intell 42(2–3):159–188
Gomez F, Segami C (2007) Semantic interpretation and knowledge extraction. Know Based Syst 20(1):51–60
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
Corresponding author
Appendices
Appendix A: Formal compositions for the auction system
1.1 A.1 EnrolComposition
1.2 A.2 LoggingComposition
1.3 A.3 ConcurrencyComposition
1.4 A.4 ManageBidComposition
1.5 A.5 CalculateBidComposition
1.6 A.6 CancelAuctionComposition
1.7 A.7 ValidateBidComposition
Appendix B: Prover9 example
2.1 B.1 pre(t) and post(s)
2.1.1 B.1.1 Input to Prover9
2.1.2 B.1.2 Proof (no conflict)
2.2 B.2 pre(s) and post(t)
2.2.1 B.2.1 Input to Mace4
2.2.2 B.2.2 Model of negation (conflict)
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-009-0083-y