Các tính năng gặp kịch bản: mô hình hóa và kiểm tra tính nhất quán của các đặc tả sản phẩm dựa trên kịch bản

Springer Science and Business Media LLC - Tập 18 - Trang 175-198 - 2013
Joel Greenyer1, Amir Molzam Sharifloo1, Maxime Cordy2, Patrick Heymans2
1Dependable Evolvable Pervasive Software Engineering, Dipartimento di Elettronica e Informazione, Politecnico di Milano, Milan, Italy
2PReCISE Research Center, University of Namur, Namur, Belgium

Tóm tắt

Nhiều hệ thống phần mềm hiện đại phức tạp bao gồm nhiều thành phần tương tác với nhau để đạt được chức năng mong muốn. Thường thì, các hệ thống này có nhiều biến thể (sản phẩm) và được quản lý cùng nhau như là một dòng sản phẩm phần mềm. Sự biến đổi này là nguồn gốc của độ phức tạp bổ sung có thể gây ra sự không nhất quán và ảnh hưởng đến tiết kiệm quy mô mà kỹ thuật dòng sản phẩm hứa hẹn. Do đó, các kỹ sư cần các phương tiện trực quan nhưng chính xác để xác định các yêu cầu và đòi hỏi các công cụ để tự động phát hiện các sự không nhất quán trong các yêu cầu này. Trong nghiên cứu gần đây, chúng tôi đã đề xuất một kỹ thuật cho việc đặc tả dựa trên kịch bản các tương tác trong các dòng sản phẩm thông qua sự kết hợp giữa Biểu đồ Chuỗi Thời gian Thể chế và Biểu đồ Tính năng. Hơn nữa, chúng tôi đã phát triển một kỹ thuật kiểm tra tính nhất quán hiệu quả dựa trên một phương pháp kiểm tra mô hình chuyên dụng được thiết kế đặc biệt cho các dòng sản phẩm. Trong bài báo này, chúng tôi báo cáo về các đánh giá bổ sung nhấn mạnh lợi ích hiệu suất đáng kể của phương pháp của chúng tôi. Chúng tôi mô tả thêm các tối ưu hóa và chi tiết về cách chúng tôi mã hóa vấn đề kiểm tra tính nhất quán cho một công cụ kiểm tra mô hình.

Từ khóa

#sản phẩm phần mềm #dòng sản phẩm #kiểm tra tính nhất quán

Tài liệu tham khảo

UML 2.4.1 Superstructure Specification (2011) OMG document formal/2011-08-06 Abadi M, Lamport L, Wolper P (1989) Realizable and unrealizable specifications of reactive systems. In: Proceedings of the 16th international colloquium on automata, languages and programming, ICALP ’89. Springer, London, pp 1–17. http://dl.acm.org/citation.cfm?id=646243.681448 Alférez M, Lopez-Herrejon RE, Moreira A, Amaral V, Egyed A (2011) Supporting consistency checking between features and software product line use scenarios. In: Proceedings of 12th international conference on top productivity through software reuse, ICSR’11. Springer, Berlin, pp 20–35 Bontemps Y, Heymans P (2005) From live sequence charts to state machines and back: a guided tour. Trans Softw Eng 31(12):999–1014 Cimatti A, Clarke E, Giunchiglia E, Giunchiglia F, Pistore M, Roveri M, Sebastiani R, Tacchella A (2002) NuSMV version 2: an opensource tool for symbolic model checking. In: Proceedings of international conference on computer-aided verification (CAV 2002), LNCS, vol 2404. Springer, Copenhagen Clarke EM, Emerson EA (1981) Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Logic of programs, LNCS, vol 131, pp 52–71. Springer Classen A, Heymans P, Schobbens PY, Legay A (2011) Symbolic model checking of software product lines. In: Proceedings of 33rd international conference on software engineering (ICSE’11). ACM, pp 321–330 Classen A, Heymans P, Schobbens PY, Legay A, Raskin JF (2010) Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proceedings of 32nd international conference on software engineering (ICSE’10), ICSE’10. ACM, pp 335–344. doi:10.1145/1806799.1806850 Cordy M, Classen A, Perrouin G, Heymans P, Schobbens PY, Legay A (2012) Simulation-based abstractions for software product-line model checking. In: ICSE’12, pp 672–682. IEEE Damas C, Lambeau B, van Lamsweerde A (2006) Scenarios, goals, and state machines: a win-win partnership for model synthesis. In: Proceedings 14th international symposium on foundations of software engineering, SIGSOFT ’06/FSE-14. ACM, New York, pp 197–207. doi:10.1145/1181775.1181800 Damm W, Harel D (2001) LSCs: breathing life into message sequence charts. In: Formal methods in system design, vol 19. Kluwer Academic Publishers, pp 45–80 Frieben J, Greenyer J (2012) Consistency checking scenario-based specifications of dynamic systems. In: Proceedings of 4th workshop on behavioural modelling: foundations and application (BM-FA 2012). ACM Ghezzi C, Molzam Sharifloo A (2012) Model-based verification of quantitative non-functional properties for software product lines. Information and software technology. doi:10.1016/j.infsof.2012.07.017 Greenyer J (2011) Scenario-based design of mechatronic systems. Ph.D. thesis, University of Paderborn Greenyer J, Sharifloo AM, Cordy M, Heymans P (2012) Efficient consistency checking of scenario-based product line specifications. In: Proceedings of 30th IEEE international requirements engineering conference, RE 2012, September 24–28, 2012, Chicago, pp 161–170 Harel D, Kugler H (2002) Synthesizing state-based object systems from LSC specifications. In: Foundations of Computer Science vol. 13:1, pp 5–51 Harel D, Kugler H, Marelly R, Pnueli A (2002) Smart play-out of behavioral requirements. In: Proceedings of 4th international conference on formal methods in computer-aided design, FMCAD ’02. Springer, London, pp 378–398 Harel D, Kugler H, Pnueli A (2005) Synthesis revisited: generating statechart models from scenario-based requirements. In: Kreowski HJ, Montanari U, Orejas F, Rozenberg G, Taentzer G (eds) Formal methods in software and systems modeling vol 3393. Springer, Heidelberg, pp 309–324 Harel D, Maoz S (2008) Assert and negate revisited: modal semantics for UML sequence diagrams. Softw Syst Model (SoSyM) 7(2):237–252. doi:10.1007/s10270-007-0054-z Harel D, Marelly R (2002) Specifying and executing behavioral requirements: the Play-In/Play-Out approach. Softw Syst Model (SoSyM) 2:2003 Harel D, Marelly R (2003) Come, let’s play: scenario-based programming using LSCs and the play-engine. Springer, Heidelberg Harhurin A, Hartmann J (2008) Towards consistent specifications of product families. In: Proceedings of 15th international symposium on formal methods, FM ’08. Springer, Berlin, pp 390–405. doi:10.1007/978-3-540-68237-0_27 Jayaraman P, Whittle J, Elkhodary A, Gomaa H (2007) Model composition in product lines and feature interaction detection using critical pair analysis. In: Engels G, Opdyke B, Schmidt D, Weil F (eds) Model driven engineering languages and systems LNCS vol 4735. Springer, Heidelberg, pp 151–165 Kang K, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis (FODA) feasibility study. Technical repot software engineering institute, Carnegie Mellon University Lauenroth K, Pohl K (2008) Dynamic consistency checking of domain requirements in product line engineering. In: International requirements engineering, 2008. RE ’08. 16th IEEE, pp 193–202. doi:10.1109/RE.2008.21 Maoz S, Harel D (2006) From multi-modal scenarios to code: Compiling LSCs into AspectJ. In: Proceedings of international symposium on foundations of software engineering (FSE’05), pp 219–230 Plath M, Ryan M (2001) Feature integration using a feature construct. Sci Comput Program 41(1):53–84 Pohl K, Böckle G, van der Linden FJ (2005) Software product line engineering: foundations, principles and techniques. Springer, Heidelberg Possomps T, Dony C, Huchard M, Tibermacine C (2011) Design of a UML profile for feature diagrams and its tooling implementation. In: Proceedings of 23rd international conference on software engineering and knowledge engineering (SEKE’11). Knowledge Systems Institute Graduate School, pp 693–698 Schobbens PY, Heymans P, Trigaux JC (2006) Feature diagrams: a survey and a formal semantics. In: 14th International conference requirements engineering, pp 139–148. doi:10.1109/RE.2006.23 Shaker P, Atlee JM, Wang S (2012) A feature-oriented requirements modelling language. In: Proceedings of 30th IEEE international requirements engineering conference, RE 2012, September 24–28, 2012, Chicago, Illinois, USA, pp 151–160 Vierhauser M, Grünbacher P, Egyed A, Rabiser R, Heider W Flexible and scalable consistency checking on product line variability models. In: Proceedings of international conference on automated software engineering (ASE’10). ACM, pp 63–72 Whittle J, Schumann J (2000) Generating statechart designs from scenarios. In: Proceedings of 22nd international conference on software engineering (ICSE’00), pp 314–323 Ziadi T, Hlout L, Jzquel JM (2004) Behaviors generation from product lines requirements. In: Proceedings of UML2004 workshop on software architecture description