Abstract
The formal methodology MultiSpec supports the evolution of software specifications gathered from multiple perspectives. A viewpoint-based approach is used to explicitly separate the descriptions provided by different stakeholders, and concentrate on identifying and resolving conflicts between them. The challenge addressed in this article consists in taking into account that some views may have greater degrees of relevance and, consequently, their opinion will have more importance when either obtaining the merged model or resolving the contradictions. To this end, we propose a priority-based approach, where such priority value is twofold. On the one hand, it considers external factors to the perspectives such as the importance assigned to each view by the analyst depending on who is specifying the view or the amount of stakeholders involved in that specification. On the other hand, this priority value also considers internal factors related to the quality of the views and, in order to be able to quantify this value, MultiSpec proposes two measures: coverage and density of each perspective which will be combined in a completeness value. The contributions of this approach will be clearly illustrated through a simple example.








Similar content being viewed by others
Notes
Notation: \(a \rightsquigarrow b\) means that a evolves into b.
References
Barragáns Martínez B, Pazos Arias JJ, Fernández Vilas A, García Duque J, López Nores M, Díaz Redondo R, Blanco Fernández Y (2008) Composing multi-perspective software requirements specifications. Int J Softw Eng Knowl Eng 18(1):119–153
Barragáns Martínez B, Pazos Arias JJ, Fernández Vilas A, García Duque J, López Nores M, Díaz Redondo R, Blanco Fernández Y (2008) On the interplay between inconsistency and incompleteness in multi-perspective requirements specifications. Inf Softw Technol 50(4):296–321
Naumann F, Freytag J-C, Leser U (2004) Completeness of integrated information sources. Inf Syst 29(7):583–615
García Duque J, Pazos Arias JJ, Barragáns Martínez B (2002) An analysis-revision cycle to evolve requirements specifications by using the SCTL-MUS methodology. In: Proceedings of the 10th IEEE international conference on requirements engineering (RE’02). IEEE Computer Society Press, Essen, Germany, pp 282–288
Milner R (1989) Communication and concurrency. International series in computer science. Prentice-Hall, Englewood Cliffs
Uchitel S, Chechik, M (2004) Merging partial behavioural models. In: Proceedings of the 12th ACM SIGSOFT international symposium on the foundations of software engineering (SIGSOFT’04/FSE-12), ACM Press, New York, pp 43–52
Pazos Arias JJ, García Duque J (2001) SCTL-MUS: a formal methodology for software development of distributed systems. A case study. Formal Asp Comput 13:50–91
Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Englewood Cliffs
Belnap ND (1977) A useful four-valued logic. In: Dunn JM, Epstein G (eds) Modern uses of multiple-valued logic. D. Reidel, pp 7–37
Nejati S, Chechik M (2005) Let’s agree to disagree. In: Proceedings of the 20th international conference on automated software engineering (ASE 2005), Long Beach, ACM Press, New York, 7–11 November 2005, pp 287–290
Barragáns Martínez AB (2007) Metodología Formal para la Especificación de Sistemas Software en Entornos Multi-Perspectiva. PhD Thesis, Telematic Engineering Department, University of Vigo (in Spanish)
Tsai JJP, Weigert T, Jang H-C (1992) A hybrid knowledge representation as a basis of requirement specification and specification analysis. IEEE Trans Softw Eng 18(12):1076–1100
Balzer R (1991) Tolerating inconsistency. In: Proceedings of 13rd international conference on software engineering (ICSE’13). IEEE Computer Society Press, Austin, 13–17 May 1991, pp 158–165
Gabbay D, Hunter A (1991) Making inconsistency respectable—part 1: a logical framework for inconsistency in reasoning. In: Jorrand Ph, Kelemen J (eds) Foundations of artificial intelligence research, vol 535 of Lecture Notes in Computer Science, Springer, Heidelberg, pp 19–32
Hunter A, Nuseibeh B (1998) Managing inconsistent specifications: reasoning, analysis and action. ACM Trans Softw Eng Methodol 7(4):335–367
Nuseibeh B (1996) To be and not to be: on managing inconsistency in software development. In: Proceedings of 8th international workshop on software specification and design (IWSSD-8), Scloss Velen, Germany. IEEE Computer Society Press, 22–23 March 1996, pp 164–169
Gervasi V, Zowghi D (2005) Reasoning about inconsistencies in natural language requirements. ACM Trans Softw Eng Methodol 14(3):277–330
Robinson W, Fickas S (1994) Supporting multi-perspective requirements engineering. In: Proceedings of the 1st IEEE international conference on requirements engineering. IEEE Computer Society Press, 18–21 April 1994, pp 206–215
Spanoudakis G, Kim H (2004) Supporting the reconciliation of models of object behaviour. Int J Softw Syst Modell Spec Issue Obj Orient Inf Syst 3(4):273–293
Heitmeyer CL, Jeffords RD, Labaw BG (1996) Automated consistency checking of requirements specifications. ACM Trans Softw Eng Methodol 5(3):231–261
Finkelstein A, Gabbay D, Hunter A, Kramer J, Nuseibeh B (1994) Inconsistency handling in multi-perspective specifications. IEEE Trans Softw Eng 20(8):569–578
van Lamsweerde A, Darimont R, Letier E (1998) Managing conflicts in goal-driven requirements engineering. IEEE Trans Softw Eng 24(11):908–926. Special issue on inconsistency management in software development
Kozlenkov A, Zisman A (2004) Discovering, recording, and handling inconsistencies in software specifications. Int J Comput Inf Sci 5(2):89–108
Spanoudakis G, Zisman A (2001) Inconsistency management in software engineering: survey and open research issues. In: Chang SK (ed) Handbook of software engineering and knowledge engineering. World Scientific Publishing Co., Singapore, pp 329–380
van Lamsweerde A, Willemet L (1998) Inferring declarative requirements specifications from operational scenarios. IEEE Trans Softw Eng 24(12):1089–1114
Nentwich C, Capra L, Emmerich W, Finkelstein A (2001) Static consistency checking for distributed specifications. In: Proceedings of the 16th international conference on automated software engineering (ASE 2001), Coronado Island, pp 115–124
Sommerville I, Sawyer P (1997) Viewpoints: principles, problems and a practical approach to requirements engineering. Ann Softw Eng 3:101–130
Hunter A, Konieczny S (2004) Approaches to measuring inconsistent information. In: Inconsistency tolerance, vol 3300 of Lecture Notes in Computer Science. Springer, Heidelberg, pp 191–236
Hunter A (2006) How to act on inconsistent news: ignore, resolve, or reject. Data Knowl Eng 57(3):221–239
Zowghi D, Gervasi V (2003) On the interplay between consistency, completeness, and correctness in requirements evolution. Inf Softw Technol 45(14):993–1009
Hunter A, Summerton R (2006) A knowledge-based approach to merging information. Knowl Based Syst 19:647–674
Niskier C, Maibaum TSE, Schwabe D (1989) A look through prisma: towards pluralistic knowledge-based environments for software specification acquisition. In: Potts C (ed) Proceedings of the 5th IEEE international workshop on software specification and design, Pittsburgh, pp 128–136
Zave P, Jackson M (1993) Conjunction as composition. ACM Trans Softw Eng Methodol 2(4):379–411
Nuseibeh B, Kramer J, Finkelstein A (1994) A framework for expressing the relationships between multiple views in requirements specification. IEEE Trans Softw Eng 20(10):760–773
Sabetzadeh M, Easterbrook SM (2003) Analysis of inconsistency in graph-based viewpoints: a category-theoretic approach. In: Proceedings of the 18th IEEE international conference on automated software engineering, pp 12–21
Robinson W (1989) Integrating multiple specifications using domain goals. In: Proceedings of the 5th international workshop on software specification and design (IWSSD-5). IEEE Computer Society Press, 19–20 May 1989, pp 219–225
Systä T (2000) Incremental construction of dynamic models for object oriented software systems. J Obj Orient Program 13(5):18–27
Uchitel S, Kramer J (2001) A workbench for synthesising behaviour models from scenarios. In: Proceedings of the 23rd IEEE international conference on software engineering (ICSE’01), pp 188–197, Toronto, Canada. IEEE Computer Society Press, 12–19 May 2001
Chacón JL, Pino Pérez R (2002) Logic-based merging: the infinite case. In: Delgrande JP, Schaub T (eds) Proceedings of the 10th international workshop on non-monotonic reasoning (NMR’04), Whistler, Canada. AAAI Press, 6–8 June 2004, pp 100–108
Konieczny S, Pino Pérez R (2002) Merging information under constraints: a logical framework. J Log Comput 12(5):773–808
Motro A, Anokhin P (2006) Fusionplex: resolution of data inconsistencies in the integration of heterogeneous information sources. Inf Fus 7:176–196
Motro A, Anokhin P, Acar AC (2004) Utility-based resolution of data inconsistencies. In: Proceedings of the 2004 international workshop on information quality in information systems (IQIS’04), New York. ACM Press, pp 35–43
Naumann F, Häussler M (2002) Declarative data merging with conflict resolution. In: Proceedings of the international conference on information quality (IQ’02), Cambridge
Liu XF, Sun Y, Veera CS, Kyoya Y, Noguchi K (2006) Priority assessment of software process requirements from multiple perspectives. J Syst Softw 79(11):1649–1660
Acknowledgments
This work was partially supported by the Xunta de Galicia Basic Research Project PGIDT04PXIB32201PR and by the Consellería de Educación e Ordenación Universitaria (Xunta de Galicia) incentives file 2007/000016-0. We thank Anthony Hunter for his insightful suggestions on earlier drafts of this paper. Our thanks are also given to the reviewers for their valuable feedback and helpful comments that have contributed to increase the quality of this paper.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Barragáns Martínez, A.B., Pazos Arias, J.J., Fernández Vilas, A. et al. Composing requirements specifications from multiple prioritized sources. Requirements Eng 13, 187–206 (2008). https://doi.org/10.1007/s00766-008-0064-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-008-0064-6