روشي مبتني بر فاصله براي رفع ناسازگاري مدل
محورهای موضوعی : مهندسی برق و کامپیوتررضا گرگان محمدي 1 , احمد عبدالهزاده بارفروش 2
1 - دانشگاه صنعتی امیرکبیر
2 - دانشگاه صنعتی امیرکبیر
کلید واژه: توليد نرمافزار مبتني بر مدل ناسازگاري نزديکترين ترميم معيار فاصله,
چکیده مقاله :
کاربرد رويکرد مدلگرا در توليد نرمافزار به دليل کاهش پيچيدگي و افزايش سرعت توليد به طور جدي مورد توجه قرار گرفته است. يکي از چالشهاي مهم در کاربرد مدل وجود ناسازگاري است. يک ناسازگاري به دليل وجود الگوهاي ساختاري نامطلوب در مدل بروز مييابد. روشهاي فعلي ارائهشده براي رفع ناسازگاري مدل به ميزان تغييرات مدل و فاصله بين مدل و ترميم آن توجه ندارند. در اين مقاله روشي مبتني بر فاصله براي يافتن نزديکترين ترميم نسبت به مدل ناسازگار ارائه ميشود. براي اين منظور مدل و فرامدل با استفاده از گراف جهتدار بازنمايي شده و از قواعد تبديل گراف جهت رفع ناسازگاري بهره برده ميشود. همچنين معيار فاصله بر اساس ميزان تغييرات گراف متناظر مدل تعريف ميشود. اعمال روش پيشنهادي به مجموعهاي از مدلهاي مبتني بر BPMN بر بهبود نتايج با استفاده از معيار فاصله دلالت دارد.
Model driven approach to software engineering has been taken into consideration due to its impact on reducing complexities and improving the productivity in software development. Inconsistencies are considered as an important challenge in applying models. An inconsistency is occurred due to an undesired structural pattern in a model. The main drawback of current approaches to inconsistency resolution is not considering the difference between the repair and the spoiled model. This work presents a distance-based method for finding closest repair for the spoiled model. For this aim, models and metamodels are represented using directed graphs and graph transformation rules are employed for inconsistency resolution. A distance metric is defined based on the amount of changes in the graph corresponding to the model. Application of the proposed method to a set of BPMN models shows the improvement of the results.
[1] J. Bezivin, "In search of a basic principle for model driven engineering," Special Novatica Issue UML and Model Engineering, vol. 2, no. 2, pp. 21-24, 21-24. 2004.
[2] G. Spanoudakis and A. Zisman, "Inconsistency management in software engineering: Survey and open research issues," In S. K. Chang, ed., Handbook of Software Engineering and Knowledge Engeering, pp. 24-29, 2001.
[3] P. J. Puissant, T. Mens, and R. Straeten, "Resolving model inconsistencies with automated planning," in Proc. of the 3rd Workshop on Living with Inconsistencies in Software Development, CEUR Workshop Proc., pp. 8-14, 2010.
[4] A. Hegedus, A. Horvath, I. Rath, M. C. Branco, and D. Varro, "Quick fix generation for DSMLs," in Proc. IEEE Symp. on Visual Languages and Human-Centric Computing, VL/HCC, pp. 17-24, Pittsbourgh, PA, USA, 18-22 Sep. 2011.
[5] M. Silva, A. Mougenot, X. Blanc, and R. Bendraou, "Towards automated inconsistency handling in design models," in Proc. CAiSE 2010, vol. LNCS 6051, pp. 348-362, 2010.
[6] A. Horvath and D. Varro, "CSP(M): constraint satisfaction programming over models," in Proc. of ACM/IEEE 12th Int. Conf. on Model Driven Engineering Languages and Systems, Models'09, vol. LNCS 5795, pp. 107-121, Oct. 2009.
[7] H. Ehrig, K. Ehrig, U. Prange, and G. Taentzer, "Fundamental theory for typed attributed graphs and graph transformation based on adhesive HLR categories," Fundamenta Informaticae, vol. 74, no. 1, pp. 31-61, 2006.
[8] A. Kleppe, Software Language Engineering: Creating Domain-Specific Languages Using Metamodels, Addison-Wesley, 2008.
[9] D. Plump, "Termination of graph rewriting is undecideable," Fundamental Informatica, vol. 33, no. 2, pp. 201-209, 2008.
[10] D. Varro, S. Varro-Gyapay, H. Ehrig, U. Prange, and G. Taentzer, "Termination analysis of model transformationsby petri nets," in Proc. ICGT06, vol. LNCS 4178, pp. 260-274, 2006.
[11] G. Bergmann, A. Okros, I. Rath, D. Varro, and G. Varro, "Incremental pattern matching in the viatra model transformation system," in Proc. of the 3rd Int. Workshop on Graph and Model Transformations, pp. 25-32, May 2008.
[12] A. Egyed, "Instant consistency checking for UML," in Proc. Int'l Conf. Software Engineering, ICSE'06, pp. 381-390, May 2006.
[13] R. V. D. Straeten, Inconsistency Management in Model Driven Engineering an Approach Using Description Logics, Ph. D Thesis, Vrije Universiteit Brussel, Brussels, Belgium, 2005.
[14] A. Egyed, E. Letier, and A. Finkelstein, "Generating and evaluating choices for fixing inconsistencies in UML design models," in Proc. 23rd IEEE/ACM Int. Conf. on Automated Software Engineering, pp. 99-108, 2008.
[15] C. Amelunxen, E. Legros, A. Schurr, and I. Sturmer, "Checking and enforcement of modeling guidelines with graph transformations," in Applications of Graph Transformations with Industrial Relevance, vol. 5088, Lecture Notes in Computer Science, Springer, pp. 313-328, 2008.
[16] E. Guerra and J. Lara, "Event-driven grammars: towards the integration of meta-modelling and graph transformation," in Graph Transformations, vol. 3256, Lecture Notes in Computer Science, Springer, pp. 215-218, 2004.
[17] Y. Xiong, A. Hubaux, S. She, and K. Czarnecki, "Generating range fixes for software configuration," in Proc. 34th Int. Conf. on Software Engineering, ICSE'12, pp. 58-68, Zurich, Switzerland, 2-9 Jun. 2012.
[18] J. Wijsen, "Database repairing using updates," ACM Trans. on Database Systems, vol. 30, no. 3, pp. 722-768, Sep. 2005.
[19] F. N. Afrati and P. G. Kolaitis, "Repair checking in inconsistent databases: algorithms and complexity," in Proc. of 12th Int. Conf. on Database Theory, pp. 31-41, Saint-Petersburg, Russia, 23-26 Mar. 2009.
[20] E. Santos and J. P. Martins, "An Argumentation framework for optimal repair checking," in Proc IEEE 5th Int. Conf. on. Intelligent Computer Communication and Processing, ICCP'09, pp. 19-26, 27-29 Aug. 2009.