A systematic process for obtaining the behavior of context-sensitive systems

Jéssyka Vilela1, Jaelson Castro1, João Pimentel2
1Centro de Informática, Universidade Federal de Pernambuco (UFPE), Recife, Brazil
2Universidade de Pernambuco (UPE), Recife - PE, Brazil

Tóm tắt

Context-sensitive systems use contextual information in order to adapt to the user’s current needs or requirements failure. Therefore, they need to dynamically adapt their behavior. It is of paramount importance to specify and analyze the intended behavior of these systems before they are fully implemented. The behavioral specification can be used for requirements validation in order to check if these systems will be able to achieve their goals. Moreover, the reasoning about properties of these systems, such as deadlocks, reachability, completeness and correctness of the system, can be supported. Therefore, it is of paramount importance to have an approach to specify the dynamic behavior of the context-sensitive systems. In this work, we propose the GO2S (GOals to Statecharts) process to systematically derive the behavior of context-sensitive systems, expressed as statecharts, from requirements models, described as goal models. The GO2S process addresses the specification of the tasks required for monitoring of requirements satisfaction as well as the system adaptation according to the context, the operationalization of non-functional requirements and prioritization of alternatives to be used at runtime (variants). It is an iterative process centered on the incremental refinement of a goal model, obtaining different views of the system (design, contextual, behavioral). Furthermore, we conducted a controlled experiment to evaluate the statecharts produced following GO2S process (experimental group) in relation to the ones elaborated in ad-hoc fashion (control group). The experiment results showed that the structural complexity of the statecharts of the experimental group was lower in relation to the control group. Moreover, the average of functionalities whose behavior was modeled according to the specification and the time spent to produce the models of the experimental group were higher in relation to the control group. Besides, the subjects agreed that the GO2S process is easy to use.

Từ khóa


Tài liệu tham khảo

Abowd, GD, Dey AK, Brown PJ, Davies N, Smith M, Steggles P (1999) Towards a better understanding of context and context-awareness. In: Gellersen H-W (ed)Handheld and Ubiquitous Computing. Lecture Notes in Computer Science, 304–307.. Springer. Ali, R (2010) Modeling and reasoning about contextual requirements: Goal-based framework. PhD thesis, Universita degli Studi di Trento. Ali, R, Dalpiaz F, Giorgini P (2010) A goal-based framework for contextual requirements modeling and analysis. Requirements Eng 15(4): 439–458. Angelopoulos, K, Souza VES, Mylopoulos J (2014) Dealing with multiple failures in zanshin: a control-theoretic approach In: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. SEAMS 2014, 165–174.. ACM, New York, NY, USA. Basili, VR, Selby RW, Hutchens DH (1986) Experimentation in software engineering. IEEE Trans Softw Eng SE 12(7): 733–743. Bazire, M, Brézillon P (2005) Understanding context before using it. In: Dey A, Kokinov B, Leake D, Turner R (eds)Modeling and Using Context. Lecture Notes in Computer Science, 29–40.. Springer. Brézillon, P (2007) Context modeling: Task model and practice model In: Modeling and Using Context, 122–135.. Springer. Brito, IS, Vieira F, Moreira A, Ribeiro RA (2007) Handling Conflicts in Aspectual Requirements Compositions. In: Rashid A Aksit M (eds)Transactions on Aspect-Oriented Software Development III, 144–166.. Springer Berlin Heidelberg, doi:10.1007/978-3-540-75162-5_6. Carver, JC, Jaccheri L, Morasca S, Shull F (2010) A checklist for integrating student empirical studies with research and teaching goals. Empir Softw Eng 15(1): 35–59. Castro, J, Kolp M, Mylopoulos J (2002) Towards requirements-driven information systems engineering: the tropos project. Inform Syst 27(6): 365–389. Chalmers, D (2002) Contextual mediation to support ubiquitous computing. PhD thesis, University of London, Imperial College of Science, Technology and Medicine. Chung, L, Nixon BA, Yu E, Mylopoulos J (2012) Non-functional requirements in software engineering, Vol. 5. Springer Science & Business Media. Clements, P, Garlan D, Bass L, Stafford J, Nord R, Ivers J, Little R (2002) Documenting Software Architectures: Views and Beyond. Pearson Education, United States. Dalpiaz, F, Borgida A, Horkoff J, Mylopoulos J (2013) Runtime goal models: Keynote In: Research Challenges in Information Science (RCIS), 2013 IEEE Seventh International Conference On, 1–11.. IEEE. Dermeval, D, Vilela J, Bittencourt II, Castro J, Isotani S, Brito P, Silva A (2015) Applications of ontologies in requirements engineering: a systematic review of the literature. Requirements Engineering. Springer, pp 1–33. Dijkman, R, Dumas M, van Dongen B, Käärik R, Mendling J (2011) Similarity of business process models: Metrics and evaluation. Inf Syst 36(2): 498–516. Fenton, N (1993) How effective are software engineering methods?J Syst Softw 22(2): 141–146. Harel, D (1987) Statecharts: A visual formalism for complex systems. Sci Comput Program 8(3): 231–274. Hatcliff, J, Wassyng A, Kelly T, Comar C, Jones P (2014) Certifiably safe software-dependent systems: challenges and directions In: Proceedings of the on Future of Software Engineering, 182–200.. ACM. Karlsson, J (1996) Software requirements prioritizing In: Proceedings of the Second International Conference on Requirements Engineering, 110–116.. IEEE. Klein, C, Schmid R, Leuxner C, Sitou W, Spanfelner B (2008) A survey of context adaptation in autonomic computing In: Fourth International Conference on Autonomic and Autonomous Systems, 2008. ICAS 2008, 106–111.. IEEE. Lapouchnian, A (2005) Goal-oriented requirements engineering: An overview of the current research. Technical Report. University of Toronto. Liu, Y, Ma Z, Shao W (2010) Integrating non-functional requirement modeling into model driven development method In: Software Engineering Conference (APSEC), 2010 17th Asia Pacific, 98–107.. IEEE. Mellor, SJ, Clark T, Futagami T (2003) Model-driven development: guest editors’ introduction. IEEE Softw 20(5): 14–18. Miranda, D, Genero M, Piattini M (2005) Empirical validation of metrics for uml statechart diagrams In: Enterprise Information Systems V, 101–108.. Springer, Netherlands. Morandini, M, Migeon F, Gleizes M-P, Maurel C, Penserini L, Perini A (2009) A goal-oriented approach for modelling self-organising MAS In: Engineering Societies in the Agents World X, vol 5881, 33–48.. Springer, Murata, T (1989) Petri nets: Properties, analysis and applications. Proc IEEE 77(4): 541–580. Nicola, Rd (1987) Extensional equivalences for transition systems. Acta Informatica 24(2): 211–237. Nuseibeh, B (2001) Weaving together requirements and architectures. Computer 34(3): 115–119. OMG (2016) Object Management Group. Business Process Model and Notation. http://www.bpmn.org/. Accessed 17 Dec 2014. Penserini, L, Perini A, Susi A, Mylopoulos J (2007) High variability design for software agents: Extending tropos. ACM Trans Autonomous Adaptive Syst (TAAS) 2(4): 16:1-16:27. Pimentel, JHC (2015) Systematic design of adaptive systems — a control-based framework. PhD thesis, Federal University of Pernambuco, Centers of Informatics. Pimentel, J, Lucena M, Castro J, Silva C, Santos E, Alencar F (2012) Deriving software architectural models from requirements models for adaptive systems: the stream-a approach. Requirements Eng 17(4): 259–281. Pimentel, J, Castro J, Mylopoulos J, Angelopoulos K, Souza VES (2014) From requirements to statecharts via design refinement In: Proceedings of the 29th Annual ACM Symposium on Applied Computing: 24–28 March 2014; Gyeongju, Korea, 995–1000.. ACM. Ranjita, KS, Prafulla KB, Durga PM (2012) Minimal testcase generation for object-oriented software with state charts. arXiv preprint arXiv:1208.2265. Runeson, P (2003) Using students as experiment subjects–an analysis on graduate and freshmen student data In: Proceedings of the 7th International Conference on Empirical Assessment in Software Engineering.–Keele University, UK, 95–102.. Citeseer. Saaty, RW (1987) The analytic hierarchy process - what it is and how it is used. Mathematical Modelling 9(3): 161–176. Santos, VVd (2008) Cemantika: A domain-independent framework for designing context-sensitive systems. PhD thesis, Universidade Federal de Pernambuco, Centro de Informática. Santos, EB (2013) Business process configuration with nfrs and context-awareness. PhD thesis, Federal University of Pernambuco, Centers of Informatics. Shaw, AC (1978) Software descriptions with flow expressions. Softw Eng IEEE Trans3: 242–254. Sjoberg, DIK, Anda B, Arisholm E, Dyba T, Jorgensen M, Karahasanovic A, Koren EF, Vokac M (2002) Conducting realistic experiments in software engineering In: Proceedings of 2002 International Symposium in Empirical Software Engineering, 17–26. Sommerville, I, Kotonya G (1998) Requirements Engineering: Processes and Techniques. John Wiley & Sons, Inc., New York, NY, USA. Svahnberg, M, Aurum A, Wohlin C (2008) Using students as subjects - an empirical evaluation In: Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement. ESEM ’08, 288–290.. ACM, New York, NY, USA. Van Lamsweerde, A, Darimont R, Massonet P (1995) Goal-directed elaboration of requirements for a meeting scheduler: Problems and lessons learnt In: Requirements Engineering, 1995, Proceedings of the Second IEEE International Symposium On, 194–203.. IEEE. Vieira, V, Tedesco P, Salgado AC (2011) Designing context-sensitive systems: An integrated approach. Expert Syst Appl 38(2): 1119–1138. Vinson, NG, Singer J (2008) A practical guide to ethical research involving humans In: Guide to Advanced Empirical Software Engineering, 229–256. Wohlin, C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in Software Engineering. Springer, Norwell, MA, USA. Yakindu Statechart Tools (2016). http://statecharts.org/. Accessed 17 Dec 2014. Yu, Y, Lapouchnian A, Liaskos S, Mylopoulos J, Leite JC (2008) From goals to high-variability software design In: Foundations of Intelligent Systems, 1–16.. Springer.