The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.06 - Nov.-Dec. (2012 vol.38)
pp: 1355-1375
Shiva Nejati , Simula Research Laboratory, Lysaker
Mehrdad Sabetzadeh , Simula Research Laboratory, Lysaker
Marsha Chechik , University of Toronto, Toronto
Steve Easterbrook , University of Toronto, Toronto
Pamela Zave , AT&T Laboratories-Research, Florham Park
ABSTRACT
Model Management addresses the problem of managing an evolving collection of models by capturing the relationships between models and providing well-defined operators to manipulate them. In this paper, we describe two such operators for manipulating feature specifications described using hierarchical state machine models: Match, for finding correspondences between models, and Merge, for combining models with respect to known or hypothesized correspondences between them. Our Match operator is heuristic, making use of both static and behavioral properties of the models to improve the accuracy of matching. Our Merge operator preserves the hierarchical structure of the input models, and handles differences in behavior through parameterization. This enables us to automatically construct merges that preserve the semantics of hierarchical state machines. We report on tool support for our Match and Merge operators, and illustrate and evaluate our work by applying these operators to a set of telecommunication features built by AT&T.
INDEX TERMS
Computational modeling, Semantics, Hierarchical systems, Pragmatics, Parameterization, Electronic mail, Voice mail, parameterization, Model management, match, merge, hierarchical state machines, statecharts, behavior preservation, variability modeling
CITATION
Shiva Nejati, Mehrdad Sabetzadeh, Marsha Chechik, Steve Easterbrook, Pamela Zave, "Matching and Merging of Variant Feature Specifications", IEEE Transactions on Software Engineering, vol.38, no. 6, pp. 1355-1375, Nov.-Dec. 2012, doi:10.1109/TSE.2011.112
REFERENCES
[1] G. Brunet, M. Chechik, S. Easterbrook, S. Nejati, N. Niu, and M. Sabetzadeh, "A Manifesto for Model Merging," Proc. Workshop Global Integrated Model Management Colocated with ICSE '06, 2006.
[2] P. Bernstein, "Applying Model Management to Classical Meta Data Problems," Proc. First Biennial Conf. Innovative Data Systems Research, pp. 209-220, 2003.
[3] S. Melnik, Generic Model Management: Concepts and Algorithms. Springer, 2004.
[4] D. Mandelin, D. Kimelman, and D. Yellin, "A Bayesian Approach to Diagram Matching with Application to Architectural Models," Proc. 28th Int'l Conf. Software Eng., pp. 222-231, 2006.
[5] G. Spanoudakis and A. Finkelstein, "Reconciling Requirements: A Method for Managing Interference, Inconsistency and Conflict," Annals of Software Eng., vol. 3, pp. 433-457, 1997.
[6] N. Maiden and A. Sutcliffe, "Exploiting Reusable Specifications through Analogy," Comm. ACM, vol. 35, no. 4, pp. 55-64, 1992.
[7] J. Rubin and M. Chechik, "A Declarative Approach for Model Composition," Proc. Workshop Model-Driven Approaches in Software Product Line Eng. Colocated with SPLC '10, 2010.
[8] A. Zisman, G. Spanoudakis, and J. Dooley, "A Framework for Dynamic Service Discovery," Proc. IEEE/ACM 23rd Int'l Conf. Automated Software Eng., pp. 158-167, 2008.
[9] P. Bernstein, S. Melnik, M. Petropoulos, and C. Quix, "Industrial-Strength Schema Matching," SIGMOD Record, vol. 33, no. 4, pp. 38-43, 2004.
[10] D. Kolovos, R. Paige, and F. Polack, "Merging Models with the Epsilon Merging Language (EML)," Proc. Ninth Int'l Conf. Model Driven Eng. Languages and Systems, pp. 215-229, 2006.
[11] S. Nejati, M. Sabetzadeh, M. Chechik, S. Uchitel, and P. Zave, "Towards Compositional Synthesis of Evolving Systems," Proc. 16th ACM SIGSOFT Int'l Symp. Foundations of Software Eng., pp. 285-296, 2008.
[12] S. Uchitel and M. Chechik, "Merging Partial Behavioural Models," Proc. 12th ACM SIGSOFT Int'l Symp. Foundations of Software Eng., pp. 43-52, 2004.
[13] D. Fischbein, G. Brunet, N. D'Ippolito, M. Chechik, and S. Uchitel, "Weak Alphabet Merging of Partial Behaviour Models," ACM Trans. Software Eng. and Methodology, to Appear, 2010.
[14] A. Mehra, J.C. Grundy, and J.G. Hosking, "A Generic Approach to Supporting Diagram Differencing and Merging for Collaborative Design," Proc. IEEE/ACM 20th Int'l Conf. Automated Software Eng., pp. 204-213, 2005.
[15] M. Sabetzadeh and S. Easterbrook, "View Merging in the Presence of Incompleteness and Inconsistency," Requirements Eng. J., vol. 11, no. 3, pp. 174-193, 2006.
[16] J. Whittle and J. Schumann, "Generating Statechart Designs from Scenarios," Proc. 22nd Int'l Conf. Software Eng., pp. 314-323, May 2000.
[17] M. Jackson and P. Zave, "Distributed Feature Composition: A Virtual Architecture for Telecommunications Services," IEEE Trans. Software Eng., vol. 24, no. 10, pp. 831-847, Oct. 1998.
[18] P. Zave, "Modularity in Distributed Feature Composition," Software Requirements and Design: The Work of Michael Jackson, B. Nuseibeh and P. Zave, eds., Good Friends Publishing, 2010.
[19] G. Bond, E. Cheung, H. Goguen, K. Hanson, D. Henderson, G. Karam, K. Purdy, T. Smith, and P. Zave, "Experience with Component-Based Development of a Telecommunication Service," Proc. Eighth Int'l Symp. Component-Based Software Eng., pp. 298-305, 2005.
[20] S. Nejati, M. Sabetzadeh, M. Chechik, S. Easterbrook, and P. Zave, "Matching and Merging of Statecharts Specifications," Proc. 29th Int'l Conf. Software Eng., pp. 54-64, 2007.
[21] M. Sabetzadeh, S. Nejati, S. Easterbrook, and M. Chechik, "Global Consistency Checking of Distributed Models with TReMer+," Proc. 30th Int'l Conf. Software Eng., pp. 815-818, 2008.
[22] D. Harel and M. Politi, Modeling Reactive Systems with Statecharts: The Statemate Approach. McGraw Hill, 1998.
[23] J. Niu, J.M. Atlee, and N.A. Day, "Template Semantics for Model-Based Notations," IEEE Trans. Software Eng., vol. 29, no. 10, pp. 866-882, Oct. 2003.
[24] G. Bond, "An Introduction to ECharts: The Concise User Manual," AT&T, technical report, http://echarts.org/Downloads/ Download-document An-Introduction-to-ECharts-The-Concise-User-Manual-2008-05-20-v1.3-beta.html , 2008.
[25] G. Bond and H. Goguen, "ECharts: Balancing Design and Implementation," AT&T technical report, http:/echarts.org, 2002.
[26] C. Manning and H. Schütze, Foundations of Statistical Natural Language Processing. MIT Press, 1999.
[27] T. Pedersen, S. Patwardhan, and J. Michelizzi, "WordNet: Similarity-Measuring the Relatedness of Concepts," Proc. 19th Nat'l Conf. Assoc. for the Advancement of Artificial Intelligence, pp. 1024-1025, 2004,
[28] S. Patwardhan and T. Pedersen, "Using WordNet-Based Context Vectors to Estimate the Semantic Relatedness of Concepts," Proc. Workshop Making Sense of Sense—Bringing Computational Linguistics and Psycholinguistics Together, pp. 1-8, 2006.
[29] P. Tan, M. Steinbach, and V. Kumar, Introduction to Data Mining. Addison Wesley, 2005.
[30] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, second ed. The MIT Press, 2001.
[31] R. Milner, Communication and Concurrency. Prentice-Hall, 1989.
[32] R.D. Nicola, U. Montanari, and F. Vaandrager, "Back and Forth Bisimulations," Proc. Eighth Int'l Conf. Concurrency Theory, pp. 152-165, 1990.
[33] E. Clarke, O. Grumberg, and D. Peled, Model Checking. MIT Press, 1999.
[34] H. Gomaa, Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures, first ed. Addison Wesley, 2004.
[35] M. Sabetzadeh, S. Nejati, S. Liaskos, S. Easterbrook, and M. Chechik, "Consistency Checking of Conceptual Models via Model Merging," Proc. IEEE 15th Int'l Requirements Eng. Conf., pp. 221-230, 2007.
[36] M. McGill and G. Salton, Introduction to Modern Information Retrieval. McGraw-Hill, 1983.
[37] J.H. Hayes, A. Dekhtyar, and J. Osborne, "Improving Requirements Tracing via Information Retrieval," Proc. IEEE 11th Int'l Symp. Requirements Eng., pp. 138-147, 2003.
[38] S. Nejati, "Behavioural Model Fusion," PhD dissertation, Univ. of Toronto, 2008.
[39] A. Hussain and M. Huth, "On Model Checking Multiple Hybrid Views," Proc. First Int'l Symp. Leveraging Applications of Formal Methods, pp. 235-242, 2004.
[40] K. Larsen and B. Thomsen, "A Modal Process Logic," Proc. Third Ann. Symp. Logic in Computer Science, pp. 203-210, 1988.
[41] M. Huth, R. Jagadeesan, and D.A. Schmidt, "Modal Transition Systems: A Foundation for Three-Valued Program Analysis," Proc. 10th European Symp. Programming, pp. 155-169, 2001.
[42] M. Sabetzadeh, "Merging and Consistency Checking of Distributed Models," PhD dissertation, Univ. of Toronto, 2008.
[43] H. Liang, Z. Diskin, J. Dingel, and E. Posse, "A General Approach for Scenario Integration," Proc. 11th Int'l Conf. Model Driven Eng. Languages and Systems, pp. 204-218, 2008.
[44] K. Larsen, B. Steffen, and C. Weise, "A Constraint Oriented Proof Methodology Based on Modal Transition Systems," Proc. First Int'l Workshop Tools and Algorithms for Construction and Analysis of Systems, pp. 17-40, 1995.
[45] M. Huth and S. Pradhan, "Model-Checking View-Based Partial Specifications," Electronic Notes Theoretical Computer Science, vol. 45, pp. 1-23, 2001.
[46] S. Nejati and M. Chechik, "Behavioural Model Fusion: An Overview of Challenges," Proc. ICSE Workshop Modeling in Software Eng., 2008.
[47] B. Nuseibeh, J. Kramer, and A. Finkelstein, "A Framework for Expressing the Relationships between Multiple Views in Requirements Specification," IEEE Trans. Software Eng., vol. 20, no. 10, pp. 760-773, Oct. 1994.
[48] J. Hay and J. Atlee, "Composing Features and Resolving Interactions," Proc. Eighth ACM SIGSOFT Int'l Symp. Foundations of Software Eng., pp. 110-119, 2000.
[49] A. Moreira, A. Rashid, and J. Araújo, "Multi-Dimensional Separation of Concerns in Requirements Engineering," Proc. IEEE 10th Int'l Symp. Requirements Eng., pp. 285-296, 2005.
[50] P. Tarr, H. Ossher, W. Harrison, and S.S. Jr, "N Degrees of Separation: Multi-Dimensional Separation of Concerns," Proc. 21st Int'l Conf. Software Eng., pp. 107-119, 1999.
[51] W. Harrison, H. Ossher, and P. Tarr, "General Composition of Software Artifacts," Proc. Fifth Int'l Symp. Software Composition, Colocated with ETAPS '06, pp. 194-210, 2006.
[52] E. Rahm and P. Bernstein, "A Survey of Approaches to Automatic Schema Matching," The VLDB J., vol. 10, no. 4, pp. 334-350, 2001.
[53] K. Ryan and B. Mathews, "Matching Conceptual Graphs as an Aid to requirements Re-Use," Proc. IEEE Int'l Symp. Requirements Eng., pp. 112-120, 1993.
[54] T. Alspaugh, A. Antón, T. Barnes, and B. Mott, "An Integrated Scenario Management Strategy," Proc. IEEE Fourth Int'l Symp. Requirements Eng., pp. 142-149, 1999.
[55] Z. Xing and E. Stroulia, "Differencing Logical UML Models," Automated Software Eng., vol. 14, no. 2, pp. 215-259, 2007.
[56] U. Kelter and M. Schmidt, "Comparing State Machines," Proc. Workshop Comparison and Versioning of Software Models, pp. 1-6, 2008.
[57] N. Lohmann, "Correcting Deadlocking Service Choreographies Using a Simulation-Based Graph Edit Distance," Proc. Sixth Int'l Conf. Business Process Management, pp. 132-147, 2008.
[58] J. Quante and R. Koschke, "Dynamic Protocol Recovery," Proc. 14th Working Conf. Reverse Eng., pp. 219-228, 2007.
[59] K. Bogdanov and N. Walkinshaw, "Computing the Structural Difference between State-Based Models," Proc. 16th Working Conf. Reverse Eng., pp. 177-186, 2009.
[60] F. van Breugel, Proc. Workshop Approximate Behavioural Equivalences, 2008.
[61] L. de Alfaro, M. Faella, and M. Stoelinga, "Linear and Branching Metrics for Quantitative Transition Systems," Proc. 31st Int'l Colloquium Automata, Languages and Programming, pp. 97-109, 2004.
[62] O. Sokolsky, S. Kannan, and I. Lee, "Simulation-Based Graph Similarity," Proc. 12th Int'l Conf. Tools and Algorithms for the Construction and Analysis of Systems, pp. 426-440, 2006.
[63] M. Alanen and I. Porres, "Difference and Union of Models," Proc. Sixth Int'l Conf. Unified Modeling Language, pp. 2-17, 2003.
[64] K. Letkeman, "Comparing and Merging Uml Models in IBM Rational Software Architect," IBM, technical report, http://www-306.ibm.com/software/awdtools/ architectswarchitect/, 2006.
[65] A. Zito, Z. Diskin, and J. Dingel, "Package Merge in UML 2: Practice vs. Theory?" Proc. Ninth Int'l Conf. Model Driven Eng. Languages and Systems, pp. 185-199, 2006.
[66] A. Boronat, J. Carsí, I. Ramos, and P. Letelier, "Formal Model Merging Applied to Class Diagram Integration," Electronic Notes Theoretical Computer Science, vol. 166, pp. 5-26, 2007.
[67] D. Jackson, "Alloy: A Lightweight Object Modelling Notation," ACM Trans. Software Eng. and Methodology, vol. 11, no. 2, pp. 256-290, 2002.
[68] M.D.D. Fabro, J. Bézivin, F. Jouault, and P. Valduriez, "Applying Generic Model Management to Data Mapping," Proc. Journées Bases de Données Advancées, 2005.
[69] S. Horwitz, J. Prins, and T. Reps, "Integrating Noninterfering Versions of Programs," ACM Trans. Programming Languages and Systems, vol. 11, no. 3, pp. 345-387, 1989.
[70] G. Halmans and K. Pohl, "Communicating the Variability of a Software-Product Family to Customers," Software and System Modeling, vol. 2, no. 1, pp. 15-36, 2003.
[71] S. Faulk, "Product-Line Requirements Specification (PRS): An Approach and Case Study," Proc. IEEE Fifth Int'l Symp. Requirements Eng., pp. 48-55, 2001.
[72] C. Heitmeyer, A. Bull, C. Gasarch, and B. Labaw, "SCR*: A Toolset for Specifying and Analyzing Requirements," Proc. Ann. Conf. Computer Assurance, pp. 109-122, 1995.
[73] S. Easterbrook and M. Chechik, "A Framework for Multi-Valued Reasoning over Inconsistent Viewpoints," Proc. 23rd Int'l Conf. Software Eng., pp. 411-420, 2001.
[74] J. Bayer, J. Girard, M. Würthner, J. DeBaud, and M. Apel, "Transitioning Legacy Assets to a Product Line Architecture," Proc. Seventh European Software Eng. Conf. Held Jointly with the Seventh ACM SIGSOFT Int'l Symp. Foundations of Software Eng., pp. 446-463, 1999.
[75] J. Rubin and M. Chechik, "Quality of Behavior-Preserving Product Line Refactorings," 2011.
[76] J. Whittle, A. Moreira, J. Araújo, P. Jayaraman, A. Elkhodary, and R. Rabbi, "An Expressive Aspect Composition Language for Uml State Diagrams," Proc. 10th Int'l Conf. Model Driven Eng. Languages and Systems, pp. 514-528, 2007.
[77] R. Salay, M. Chechik, S. Easterbrook, Z. Diskin, P. McCormick, S. Nejati, M. Sabetzadeh, and P. Viriyakattiyaporn, "An Eclipse-Based Tool Framework for Software Model Management," Proc. OOPSLA Workshop Eclipse Technology eXchange, pp. 55-59, 2007.
[78] R. Salay, "Using Modeler Intent in Software Engineering," PhD dissertation, Univ. of Toronto, 2010.
[79] M. Chechik, S. Nejati, and M. Sabetzadeh, "A Relationship-Based Approach to Model Integration," Innovations in Systems and Software Eng., To Appear, 2011.
[80] A. Classen, P. Heymans, T.T. Tun, and B. Nuseibeh, "Towards Safer Composition," Proc. 31st Int'l Conf' Software Eng. Companion, pp. 227-230, 2009.
[81] "Researching and Developing Persistent and Generative Cognitive Models," http://palm.mindmodeling.org/pgcmWelcome. html , 2010.
[82] R. Alur, S. Kannan, and M. Yannakakis, "Communicating Hierarchical State Machines," Proc. 26th Int'l Colloquium Automata, Languages and Programming, pp. 169-178, 1999.
[83] D. Dams, R. Gerth, and O. Grumberg, "Abstract Interpretation of Reactive Systems," ACM Trans. Programming Languages and Systems, vol. 2, no. 19, pp. 253-291, 1997.
6 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool