Abstract
Goal models represent requirements and intentions of a software system. They play an important role in the development life cycle of software product lines (SPLs). In the domain engineering phase, goal models guide the development of variability in SPLs by providing the rationale for the variability, while they are used for the configuration of SPLs in the application engineering phase. However, variability in SPLs, which is represented by feature models, usually has design and implementation-induced constraints. When those constraints are not aligned with variability in goal models, the configuration with goal models becomes error prone. To remedy this problem, we propose a description logic (DL)-based approach to represent both models and their relations in a common DL knowledge base. Moreover, we apply reasoning to detect inconsistencies in the variability of goal and feature models. A formal proof is provided to demonstrate the correctness of the reasoning approach. An empirical evaluation shows computational tractability of the inconsistency detection.
Similar content being viewed by others
Notes
In this paper, we are interested in validation of intentions in family goal models, typically achieved within one actor. Therefore, we do not consider different actors and dependencies among them.
Some non-functional requirements, like security, can have a clear-cut criteria and also can be achieved with different operationalizations. The GRL standard does not specify how to model these situations. Nevertheless, the standard allows the specification of decompositions on soft goals.
Tasks are considered to be requirements if they are assigned to the system-to-be and to be assumptions if they are assigned to the environment.
The stakeholders include final users, managers, designers, clients, etc. However, in the rest of the paper, we only concentrate the final users and representation of their intentions in goal models.
In this paper, description logic (DL) is used to formalize the constraints of interests in models of interests and enable validation services. We could have used some other formalism, but we opted for DL as it is precise and expressive enough to serve our purpose—formalize constraints that need to hold between our models of interest. Comparison of different reasoning formalisms for the particular task under study is beyond the scope the paper and deserves a new paper on its own.
Please note that \(\otimes \) is not a standard operator in DL. For a more concise representation, we use \(\bigotimes _{G^\prime \in \{G_1, \ldots , G_n\}} \exists requires . G^\prime \) as an abbreviation for \(\bigsqcup _{G^\prime \in \{G_1, \ldots , G_n\}} \exists requires. G^\prime \) \(\sqcap \lnot (\bigsqcup _{G^{\prime \prime }, G^{\prime \prime \prime } \in \{G_1, \ldots , G_n\} }\) \((\exists requires. G^{\prime \prime } \sqcap \exists requires. G^{\prime \prime \prime }))\).
Software Product Lines Online Tools—http://www.splot-research.org/.
References
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin (2005)
Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Sofware Engineerin Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, Technical Report CMU/SEI-90-TR-021. http://resources.seicmu.edu/library/asset-view.cfm?AssetID=11231 (1990)
Batory, D., Benavides, D., Ruiz-Cortes, A.: Automated analysis of feature models: challenges ahead. Commun. ACM 49, 45–47 (2006)
Clarke, D., Proença, J.: Towards a theory of views for feature models. In: SPLC Workshops, pp. 91–98 (2010)
Acher, M., Collet, P., Lahire, P., France, R.B.: Separation of concerns in feature modeling: support and applications. In: Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development, pp. 1–12. AOSD ’12, ACM, New York, NY, USA (2012)
Mylopoulos, J., Chung, L., Yu, E.: From object-oriented to goal-oriented requirements analysis. Commun. ACM 42, 31–37 (1999)
Yu, Y., do Prado Leite, J.C.S., Lapouchnian, A., Mylopoulos, J.: Configuring features with stakeholder goals. In: Proceedings of the 2008 ACM Symposium on Applied Computing, pp. 645–649. SAC ’08, ACM. New York, NY, USA (2008)
Yu, Y., Lapouchnian, A., Liaskos, S., Mylopoulos, J., Leite, J.: From goals to high-variability software design. In: Foundations of Intelligent Systems. Volume 4994 of LCNS, pp. 1–16. Springer, Berlin (2008)
Lapouchnian, A., Yu, Y., Mylopoulos, J.: Requirements-driven design and configuration management of business processes. In: 5th International Conference on Business Process Management, BPM, pp. 246–261. LNCS, Springer, Berlin (2007)
Asadi, M., Bagheri, E., Gasevic, D., Hatala, M.: Goal-driven software product line engineering. In: 26th ACM Symposium on Applied Computing (2011)
Metzger, A., Heymans, P., Pohl, K., Schobbens, P.Y., Saval, G.: Disambiguating the documentation of variability in software product lines: a separation of concerns, formalization and automated analysis. In: 15th IEEE International Requirements Engineering Conference, pp. 243–253. RE, IEEE (2007)
Mendonca, M.: Software product lines online tools (splot). http://www.splot-research.org/ (2012)
Yu, E., Giorgin, P., Maiden, N., Mylopoulos, J. (eds.): Social Modeling for Requirements Engineering. MIT, Cambridge, MA (2011)
Giorgini, P., Mylopoulos, J., Sebastiani, R.: Goal-oriented requirements analysis and reasoning in the TROPOS methodology. Eng. Appl. Artif. Intell. 18, 159–171 (2005)
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering, vol. 5, 1st edn. Springer, Berlin (1999)
van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, New York (2009)
ITU-T: Recommendation Z.151 (10/12): User Requirements Notation (URN) Language Definition, Geneva (2008)
Giorgini, P., Mylopoulos, J., Nicchiarelli, E., Sebastiani, R.: Reasoning with goal models. In: 21st International Conference on Conceptual Modeling (ER). Volume 2503 of LNCS, pp. 167–181. Springer, Berlin (2002)
Sebastiani, R., Giorgini, P., Mylopoulos, J.: Simple and minimum-cost satisfiability for goal models. In: CAiSE. Volume 3084 of LNCS, pp. 20–35, Springer, Berlin (2004)
António, S., Araújo, J.A., Silva, C.: Adapting the i* framework for software product lines. In: Proceedings of the ER 2009 Workshops on Advances in Conceptual Modeling—Challenging Perspectives, pp. 286–295. Springer, Berlin (2009)
Liaskos, S., Lapouchnian, A., Wang, Y., Yu, Y., Easterbrook, S.: Configuring common personal software: a requirements-driven approach. In: 13th IEEE International Conference Requirements Engineering, pp. 9–18 (2005)
Weiss, D.M., Lai, C.T.R.: Software Product-line Engineering: A Family-based Software Development Process. Addison-Wesley Longman (1999)
Liaskos, S., Litoiu, M., Jungblut, M.D., Mylopoulos, J.: Goal-based behavioral customization of information systems. In: Proceedings of the 23rd International Conference on Advanced Information Systems Engineering. CAiSE’11, pp. 77–92. Springer, Berlin (2011)
Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: Form: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)
Schobbens, P.Y., Heymans, P., Trigaux, J.C.: Feature diagrams: a survey and a formal semantics. In: Requirements Engineering, 14th IEEE International Conference, pp. 139–148 (2006)
Kang, K.C., Kim, S., Lee, J., Kim, K., Kim, G.J., Shin, E.: Form: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)
Liaskos, S., Lapouchnian, A., Yu, Y., Yu, E., Mylopoulos, J.: On goal-based variability acquisition and analysis. In: Requirements Engineering, 14th IEEE International Conference, pp. 79–88 (2006)
Czarnecki, K., Antkiewicz, M.: Mapping features to models: a template approach based on superimposed variants. In: GPCE’05. Volume 3676 of LNCS, pp. 422–437. Springer (2005)
Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: mapping features to models. In: Companion Proceedings of the 30th International Conference on Software Engineering (ICSE’08), pp. 943–944. ACM (2008)
Gröner, G., Asadi, M., Mohabbati, B., Gasevic, D., Parreiras, F.S., Boskovic, M.: Validation of user intentions in process models. In: 24th International Conference on Advanced Information Systems Engineering (CAiSE), pp. 366–381. Springer, Berlin (2012)
Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., Patel-Schneider, P.F. (eds.): The Description Logic Handbook, 2nd edn. Cambridge University Press, Cambridge, MA (2007)
Wang, H., Li, Y., Sun, J., Zhang, H., Pan, J.: Verifying feature models using OWL. J. Web Semant. 5(2), 117–129 (2007)
Kellner, M.I., Madachy, R.J., Raffo, D.M.: Software process simulation modeling: Why? what. J. Syst. Softw. 46, 91–105 (1999)
Guo, J., Wang, Y., Trinidad, P., Benavides, D.: Consistency maintenance for evolving feature models. Expert Syst. Appl. 39(5), 4987–4998 (2012)
White, J., Benavides, D., Schmidt, D.C., Trinidad, P., Dougherty, B., Cortés, A.R.: Automated diagnosis of feature model configurations. J. Syst. Softw. 83(7), 1094–1107 (2010)
Liaskos, S., McIlraith, S.A., Sohrabi, S., Mylopoulos, J.: Representing and reasoning about preferences in requirements engineering. Requir. Eng. 16(3), 227–249 (2011)
Mussbacher, G., Amyot, D., Araújo, J.a., Moreira, A.: Transactions on Aspect-Oriented Software Development vii. Springer, Berlin, pp. 23–68 (2010)
Silva, C.T.L.L., Alencar, F.M.R., Araújo, J., Moreira, A., de Castro, J.B.: Tailoring an aspectual goal-oriented approach to model features. In: SEKE, pp. 472–477 (2008)
Borba, C., Silva, C.: A comparison of goal-oriented approaches to model software product lines variability. In: Proceedings of the ER 2009 Workshops on Advances in Conceptual Modeling-Challenging Perspectives, pp. 244–253. Springer (2009)
Santos, L., Silva, L., Batista, T.: On the integration of the feature model and PL-AOVGraph. In: Proceedings of the 2011 International Workshop on Early Aspects, pp. 31–36 (2011)
Mussbacher, G., Arajo, J., Moreira, A., Amyot, D.: Aourn-based modeling and analysis of software product lines. Softw. Qual. J., 20(3–4), 1–43. doi:10.1007/s11219-011-9153-8
Jureta, I., Borgida, A., Ernst, N., Mylopoulos, J.: Techne: Towards a new generation of requirements modeling languages with goals, preferences, and inconsistency handling. In: Requirements Engineering Conference (RE), 2010 18th IEEE International, pp. 115–124 (2010)
Ernst, N.A., Borgida, A., Mylopoulos, J., Jureta, I.J.: Agile requirements evolution via paraconsistent reasoning. In: Proceedings of the 24th International Conference on Advanced Information Systems Engineering. CAiSE’12, pp. 382–397. Springer, Berlin (2012)
Ali, R., Dalpiaz, F., Giorgini, P.: A goal-based framework for contextual requirements modeling and analysis. Requir. Eng. 15(4), 439–458 (2010)
Ali, R., Dalpiaz, F., Giorgini, P.: Reasoning with contextual requirements: Detecting inconsistency and conflicts. Inf. Softw. Technol. 55(1), 35–57 (2013) (Special section: Best papers from the 2nd International Symposium on Search Based Software Engineering 2010)
Varela, P., Araújo, J.a., Brito, I., Moreira, A.: Aspect-oriented analysis for software product lines requirements engineering. In: Proceedings of the 2011 ACM Symposium on Applied Computing, pp. 667–674. SAC ’11, New York, NY, USA, ACM (2011)
Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness OCL constraints. In: GPCE, pp. 211–220 (2006)
Thaker, S., Batory, D.S., Kitchin, D., Cook, W.R.: Safe composition of product lines. In: Proceedings of the GPCE ’06, pp. 95–104 (2007)
Janota, M., Botterweck, G.: Formal approach to integrating feature and architecture models. In: FASE. Volume 4961 of LNCS, pp. 31–45 (2008)
Van Der Storm, T.: Generic feature-based software composition. In: 6th International Conference on Software Composition. Volume 4829 of LNCS, pp. 66–80 (2007)
Amyot, D., Ghanavati, S., Horkoff, J., Mussbacher, G., Peyton, L., Yu, E.: Evaluating goal models within the goal-oriented requirement language. Int. J. Intell. Syst. 25, 841–877 (2010)
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co. New York, NY, USA (2000)
McGregor, J., Muthig, D., Yoshimura, K., Jensen, P.: Successful software product line practices. Softw. IEEE 27(3), 16–21 (2010)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Benoit Baudry.
Rights and permissions
About this article
Cite this article
Asadi, M., Gröner, G., Mohabbati, B. et al. Goal-oriented modeling and verification of feature-oriented product lines. Softw Syst Model 15, 257–279 (2016). https://doi.org/10.1007/s10270-014-0402-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-014-0402-8