Abstract
Models of software development processes have many uses such as an aid to understanding, composing, assessing, improving and automating workflows. However, eliciting descriptive models from actual work environments can be quite complex due to multiplicity of roles, activities, artefacts, conditions, distributivity, locations and others. One way to manage this complexity is to elicit, from different sources, partial models (called views) of the subject process and then merge them into a coherent whole. In this paper, we describe “view-merging” algorithms, which form a core part of a view-based model elicitation system. The algorithms aid in identifying overlaps and inconsistencies and in presenting possible resolutions which, by interacting with the model elicitor, leads towards an incrementally built, unified, coherent process model. These algorithms have been implemented in a system called V elicit, which has been validated empirically.
This work was supported in part by the Natural Science and Engineering Research Council of Canada (NSERC).
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Ahonen, J.J., Forsell, M., Taskinen, S.-K.: A Modest but Practical Software Process Modeling Technique for Software Process Improvement. Journal of Software Process Improvement and Practice 7(1), 33–44 (2002)
Alanen, M., Porres, I.: Difference and Union of Models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 2–17. Springer, Heidelberg (2003)
Altmanninger, K.: Models in Conflict - Towards a Semantically Enhanced Version Control System for Models. In: Giese, H. (ed.) MODELS 2008. LNCS, vol. 5002, pp. 293–304. Springer, Heidelberg (2008)
Barragáns-Martínez, A.B., Arias, J.J.P., Vilas, A.F., Duque, J.G., Nores, M.L., Redondo, R.P.D., Blanco-Fernández, Y.: Composing Multi-perspective Software Requirements Specifications. Int. J. Software Engineering and Knowledge Engineering 18(1), 119–153 (2008)
Barragáns-Martínez, A.B., Arias, J.J.P., Vilas, A.F., Duque, J.G., Nores, M.L., Redondo, R.P.D., Blanco-Fernández, Y.: Composing Requirements Specifications from Multiple Prioritized Sources. J. Requirements Engineering 13, 187–206 (2008)
Brosch, P., Langer, P., Seidl, M., Wimmer, M.: Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder. In: ICSE Workshop on Comparison and Versioning of Software Models, pp. 55–60. IEEE CS Press, Los Alamitos (2009)
Bush, M.W.: Process Assessments in NASA. In: 13th Int. Conf. on Software Engineering, pp. 299–304. IEEE CS Press, Los Alamitos (1991)
Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing Model Conflicts in Distributed Development. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 311–325. Springer, Heidelberg (2008)
Curtis, B., Kellner, M.I., Over, J.: Process Modeling. Communications of the ACM 35(9), 75–90 (1992)
Dalkey, N., Helmer, O.: An Experimental Application of the Delphi Method to the Use of Experts. Management Science 9(3), 458–467 (1963)
Deiters, W., Gruhn, V.: Software Process Technology Transfer - A Case Study Based on FUNSOFT Nets and MELMAC. In: 8th Int. Software Process Workshop, pp. 50–52. IEEE CS Press, Los Alamitos (1993)
Easterbrook, S., Nuseibeh, B.: Using Viewpoints for Inconsistency Management. Software Engineering Journal 11(1), 31–43 (1996)
Easterbrook, S., Yu, E., Aranda, J., Fan, Y., Horkoff, J., Leica, M., Qadir, R.A.: Do viewpoints lead to better conceptual models? An exploratory case study. In: 13th IEEE International Conference on Requirements Engineering, pp. 199–208. IEEE CS Press, Los Alamitos (2005)
Finkelstein, A., Gabbay, D., Hunter, A., Kramer, J., Nuseibeh, B.: Inconsistency Handling in Multi-Perspective Specifications. IEEE Trans. on Software Engineering 20(8), 569–578 (1994)
Guzman-Arenas, A., Cuevas, A.-D.: Knowledge accumulation through automatic merging of ontologies. Expert Systems with Applications 37(3), 1991–2005 (2010)
Hardgrave, B.C., Armstrong, D.J.: Software Process Improvement: It’s a Journey, Not a Destination. Communications of the ACM 48(11), 93–96 (2005)
Hicks, C.R.: Fundamental concepts in the design of experiments, 4th edn. Saunders College Publishing, Philadelphia (1993)
Humphrey, W.S.: Managing the Software Process. Addison-Wesley, Reading (1989)
Kellner, M.I., Feiler, P.H., Finkelstein, A., Katayama, T., Osterweil, L.J., Penedo, M.H., Rombach, H.D.: ISPW-6 Software Process Example. In: First Int. Conf. on the Software Process, pp. 176–186. IEEE CS Press, Los Alamitos (1991)
Kellner, M.I., Hansen, G.A.: Software Process Modeling: A Case Study. In: 22nd Annual Hawaii Int. Conf. on System Sciences. Software Track, vol. II, pp. 175–188. IEEE CS Press, Los Alamitos (1989)
Kelter, U., Wehren, J., Niere, J.: A Generic Difference Algorithm for UML Models. In: Liggesmeyer, P., Pohl, K., Goedicke, M. (eds.) Software Engineering 2005. LNI, vol. 64, pp. 105–116. GI (2005)
Kolovos, D.S., Paige, R., Polack, F.: Merging Models with the Epsilon Merging Language (EML). In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 215–229. Springer, Heidelberg (2006)
Küster, J.M., Gerth, C., Förster, A., Engels, G.: Detecting and Resolving Process Model Differences in the Absence of a Change Log. In: Dumas, M., Reichert, M., Shan, M.-C. (eds.) BPM 2008. LNCS, vol. 5240, pp. 244–260. Springer, Heidelberg (2008)
van Lamsweerde, A., Darimont, R., Letier, E.: Managing Conflicts in Goal-Driven Requirements Engineering. IEEE Trans. on Software Engineering 24(11), 908–926 (1998)
Leite, J.C., Freeman, P.A.: Requirements Validation Through Viewpoint Resolution. IEEE Trans. on Software Engineering 17(12), 1253–1269 (1991)
Madhavji, N.H., Holtje, D., Hong, W., Bruckhaus, T.: Elicit: A Method for Eliciting Process Models. In: 3rd Int. Conf. on the Software Process, pp. 111–122. IEEE CS Press, Los Alamitos (1994)
Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and Merging of Statecharts Specifications. In: 29th International Conference on Software Engineering, pp. 54–64. IEEE CS Press, Los Alamitos (2007)
Noy, N.F., Musen, M.A.: PROMPT: Algorithm and Tool for Automated Ontology Merging and Alignment. In: 17th National Conf. on Artificial Intelligence, Austin, TX, pp. 450–455. American Association for Artificial Intelligence (2000)
Rombach, H.D.: Practical use of formal process models: first experiences. In: 8th Int. Software Process Workshop, pp. 132–134. IEEE CS Press, Los Alamitos (1993)
Sabetzadeh, M., Easterbrook, S.: View Merging in the Presence of Incompleteness and Inconsistency. J. Requirements Engineering 11, 174–193 (2006)
Spanoudakis, G., Constantopoulos, P.: Elaborating Analogies from Conceptual Models. Int. Journal of Intelligent Systems 11(11), 917–974 (1996)
Spanoudakis, G., Finkelstein, A.: Reconciling requirements: a method for managing interference, inconsistency and conflict. In: Annals of Software Engineering, vol. 3, pp. 433–457. Springer, Heidelberg (1997)
Tassé, J., Madhavji, N.H.: View-Based Process Elicitation: a User’s Perspective. Journal of Software Process Improvement and Practice 6(3), 125–139 (2001)
Tullos, R.E.: Assessment of Similarity Indices for Undesirable Properties and a new Tripartite Similarity Index Based on Cost Functions. In: Palm, M.E., Chapela, I.H. (eds.) Mycology in Sustainable Development: Expanding Concepts, Vanishing Borders. Parkway Publishers (1997)
Turgeon, J.: A View-Based System for Eliciting Software Process Models. Ph.D. Thesis, McGill University (1999)
Turgeon, J., Madhavji, N.H.: A Systematic, View-Based Approach to Eliciting Process Models. In: Montangero, C. (ed.) EWSPT 1996. LNCS, vol. 1149, pp. 276–282. Springer, Heidelberg (1996)
Turgeon, J., Madhavji, N.H.: View-based vs Traditional Modeling Approaches: Which is Better? In: Conradi, R. (ed.) EWSPT 2000. LNCS, vol. 1780, pp. 131–137. Springer, Heidelberg (2000)
Verlage, M.: An Approach for Capturing Large Software Development Processes by Integration of Views Modeled Independently. In: 10th Int. Conf. On Software Engineering and Knowledge Engineering. Knowledge Systems Institute, Skokie (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Tassé, J., Madhavji, N.H., Azad, A. (2010). Techniques for Merging Views of Software Processes. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds) Graph Transformations and Model-Driven Engineering. Lecture Notes in Computer Science, vol 5765. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17322-6_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-17322-6_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17321-9
Online ISBN: 978-3-642-17322-6
eBook Packages: Computer ScienceComputer Science (R0)