=Paper=
{{Paper
|id=Vol-2469/ERForum6
|storemode=property
|title=Towards Goal Modeling and Analysis for Networks of Collaborative Cyber-Physical Systems
|pdfUrl=https://ceur-ws.org/Vol-2469/ERForum6.pdf
|volume=Vol-2469
|authors=Jennifer Brings,Marian Daun
|dblpUrl=https://dblp.org/rec/conf/er/BringsD19
}}
==Towards Goal Modeling and Analysis for Networks of Collaborative Cyber-Physical Systems==
Towards goal modeling and analysis for networks of collaborative cyber-physical systems Jennifer Brings[0000-0002-2918-5008] and Marian Daun[0000-0002-9156-9731] paluno – The Ruhr Institute for Software Technology University of Duisburg-Essen, Essen, Germany {jennifer.brings, marian.daun}@paluno.uni-due.de Abstract. Collaborative cyber-physical systems can dynamically form networks at runtime. Such networks can achieve goals that are unachievable to individual systems. Due to their dynamic natures such networks must handle a variety of configurations which influence the goals that can be achievable. In this paper we investigate the use of an approach combining a goal and a special configuration model to reason about permissible and unwanted network configurations. Pre- liminary evaluation results from an industrial case study indicate that the ap- proach can help discover problematic network configurations for networks of collaborative cyber-physical systems. Keywords: Goal modelling, collaborative cyber-physical systems, iStar. 1 Introduction Goal modeling, goal-oriented requirements engineering, and goal-based analysis [1] are commonly used to elicit, document, and analyze requirements. Particularly goal models are used to identify conflicts between different stakeholders [2]. However, in previous work we have shown that goal models are also a good fit to foster analysis of collaborative cyber-physical systems [3]. In this situation, multiple systems collaborate with each other to a) achieve some greater good of the so formed overall system net- work and b) to maximize their individual goal fulfillment. The achievable goals of the system network as well as of the partaking individual systems, thus, greatly depend on their context [4] and in particular on the configuration of the system network [5]. There- fore, it is necessary to reason about the goals to be achieved in each possible configu- ration and to reason about the configurations in which certain goals can be achieved. Based on the related work we developed a general solution approach, which gener- ates certain views onto the goal model. In this paper, we report evaluation results from applying this overall approach to the industrial case example of autonomous transport robots taken from the automotive domain. Therefore, this paper is structured as follows: Section 2 introduces the concrete prob- lem statement and the industrial case example, based on this the related work is dis- cussed in Section 3. Resulting from the related work the general approach is introduced Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). 71 and applied to the case example and results are shown in Section 4. Finally, Section 5 concludes the paper. 2 Background 2.1 Problem statement Collaborative cyber-physical systems can form networks which can achieve more than the individual systems by themselves [6, 7]. For, example vehicles equipped with col- laborative adaptive cruise control systems can form platoons which enable all following vehicles to reduce their fuel consumption because the platooning functionality allows them to safely reduce the distance needed to the vehicle ahead. These networks are of a dynamic nature as they can change their configurations during runtime [8]. Vehicles may form a new platoon or join and leave existing platoons at any time. Goal modeling has proven useful to document and reason about the goals of such networks, its indi- vidual collaborative cyber-physical systems, and their dependencies. However, goal models are typically used to document goals of individual systems (which might consist of other systems as, e.g., is the case for systems of systems) but not for documenting goals of a network of collaborative cyber-physical systems that consists of a plethora of systems collaborating, particularly considering that many of these systems are of similar types [9]. To allow for proper documentation of all possible network configurations, we intro- duced dynamicity constraint models in [5]. Dynamicity constraint models are based on cardinality-based feature models [10] and allow the definition of what constitutes a valid network configuration. For example, a valid platoon must consist of at least two vehicles and each platoon needs exactly one leading vehicle. While dynamicity con- straint models capture the morphological variability of the system network, the goal model still needs to account for the various goals the overall system network and each individual network want to achieve. However, this largely depends on the concrete net- work configuration. For example, the goal of a platoon to split platoons into two should only be achievable if there are at least four vehicles in a platoon. To better reason about the capabilities of the different configurations of such a net- work, it is necessary to be able to answer the following questions: 1. Which goals can be achieved by a given configuration? 2. Which goals can be achieved by all configurations in a set of given configurations? 3. Which goals can be achieved by at least one configuration from a set of given con- figurations? 72 2.2 Case example We illustrate the problem situation and later on in this paper the initial solution idea using an industrial case example from the automation domain. Smart factories are de- signed to adapt themselves to different production orders [11]. Therefore, smart facto- ries need to decide whether a certain production order is producible and how this should be conducted. To this end, autonomous transport robots are used to allow for flexible material flows between different production sites. A fleet of transport robots is tasked with transporting goods from one or more pick-up stations to one or more drop-off stations. A simplified dynamicity constraint model, a fragment of the respective goal model and the trace links between the dynamicity constraint model and the goal model are shown in Fig. 1. [2..n] Network [2..n] [1..20] [1..5] [1..5] Robot Pick-Up Station Drop-Off Station [0..10] Robot Robot Robot Pick-Up Station Pick-Up Station Drop-Off Station Drop-Off Station Type I Type II Type III Type I Type II Type I Type II [1..n] excludes Transport Robot Goods Low Fleet AND Maintenance Costs Avoid Safety Hazards Optimized AND Delivery ... requires ... Avoid Collisions Pick-Ups/Drop- requires AND Offs at Different Parallel Heights Transportation Order Processing Detect Accurate Obstacles Path Handover Planning of Goods Autonomy and requires Flexibility ... requires Fig. 1. Goal model and dynamicity constraint model for a transport robot fleet The network consists of one to 20 robots which can be of three different types, one to five pick-up stations, and one to five drop-off stations. Various goals of the fleet are linked to the dynamicity constraint model. For example, the Low Maintenance Costs softgoal excludes any robots of type III, as those are more expensive to maintain than the other types. However, only robots of type III can adjust the height at which they pick up and drop off goods and are thus needed to achieve the Pick-Ups/Drop-Offs at Different Heights goal. For a more detailed discussion of the case example please refer to [5]. 73 2.3 Illustration of problem situation Coming back to the questions to be reasoned about from Section 1, for example, we would like to be able to answer questions such as which goals can be achieved by a fleet of one robot of type III, one pick-up station of type I, and one drop of station of type II. Other questions we seek answers to are questions like what goals can all con- figurations achieve in a fleet of one or two robots, but not more than one of type II or III each, one pick-up station of type II, and one drop-off station of type II and what goals can at least one configuration of such a fleet achieve. Table 1 relates the examples given to the kind of questions they are and provides rationales why it is important to be able to answer such questions. Table 1. Analytical questions for goal modeling of networks of collaborative cyber-physical system Question Example Rationale 1 Which goals can Which goals can be achieved It is important to investigate the different con- be achieved by a by a fleet of one robot of type figurations and the achievable goals for each given configura- III, one pick-up station of type configuration. This allows, for instance in tion? I, and one drop-off station of identifying network configurations that are un- type II? wanted (i.e. that do not sufficiently achieve necessary goals) and, thus, need to be pre- vented from forming. 2 Which goals can Which goals can all configu- For engineers it is important to reason about be achieved by rations achieve in a fleet of commonalities between configurations. It is all configura- one or two robots, but not important to investigate which goals will be tions in a set of more than one of type II or III achieved any time and which only under cer- given configura- each, one pick-up station of tain circumstances. tions? type II, and one drop-off sta- tion of type II? 3 Which goals can Which goals can at least one For engineers it is important to investigate be achieved by configuration achieve in a which goals are achievable by which configu- at least one con- fleet of one or two robots, but ration. For instance, it must be ensured that figuration from not more than one of type II or goals are achievable by at least one configura- a set of given III each, one pick-up station tion. configurations? of type II, and one drop-off station of type II? 3 Related Work This section reviews the related work w.r.t. the problem situation and the questions to be answered outlined in Section 2. In particular, approaches exist that combine goal and variability modeling, approaches that derive feature models from goal models, ap- proaches reasoning about goal configurations and goal-modeling approaches consider- ing specific contexts and configurations. 74 3.1 Approaches for using goal models for documenting variability. Several approaches exist for creating goal models that contain information about variability. Goal models allow for the decomposition of goals into subgoals. These ap- proaches assume that OR decompositions indicate variability. As most goal modeling languages only define one or two types of OR decomposition (inclusive OR and exclu- sive OR), extensions have been developed to allow for documenting more complex relationships such as entirely optional goals, selection of a certain number of different goals etc. To address this issue. Borba and Silva [12] propose an extension to i* that distinguishes seven different kinds of means-end links. Silva et al. [13] presents an as- pect-oriented i* approach to model common and variable features of a product line using a goal model. Variable goals, tasks, resources etc. are assigned to aspects accord- ing to the feature model that describes the product line. Semmak et al. [14] [15] extend the KAOS method to support the generation of domain goal models that document all goals of an entire product line. Liu et al. [16], [17] extend the GRL modeling language with feature modeling concepts. Santos et al. [18] presents an approach for using goal models to document the variability of BPMN process models. While these approaches succeed at documenting product line variability in goal models, they are not able to cope with some of the characteristics of networks of collaborative cyber-physical sys- tems such as the possible existence of multiple systems of the same type in such a net- work and the need to alter the number of permissible systems in such a network accord- ing to selected goals. 3.2 Approaches for deriving feature models from goal models Approaches also exist for deriving feature models describing a product line from existing goal models. Yu et al. [19] present an approach for deriving feature models from goal models. AND-decompositions in the goal models are mapped to mandatory features. OR-Decompositions are mapped to OR features. A special OR-decomposition is defined that can be mapped to alternative features. The approach is extended in [20] to distinguish two kinds of “true” OR-decompositions. When subgoals can be selected at design time because the selection is based on quality criteria they are mapped to OR features. Otherwise they are mapped to mandatory features. Asadi et al. [21] present an approach for creating feature models based on i* goal models. Goal and feature models are linked by annotating features with Boolean variables that correspond to goals from the goal model. This way the goals can be used as rationales for feature selection. 3.3 Approaches for finding optimal configurations Introducing variability into goal models or linking goal and feature models is usu- ally done to find optimal configurations for product lines. Gonzales-Baixauli et al. [22] present an approach to select the most appropriate variant based on softgoals. Two AND/OR –trees are created manually, one containing all goals and tasks of the system, one containing all softgoals. A variant is represented by an OR-path in the goal/task tree. The goals/tasks are manually linked to softgoals using correlation links. Softgoals 75 are assigned priority values. Based on these parameters the tool computes a score for each variant to optimize softgoal fulfilment. António et al. [23] present an approach that combines i* goal modeling and feature models, too. First domain goal models are created, then a feature model of the product line is derived. In application engineering feature and goal models are configured to create models for one product. Silva et al. [24] present a process to identify features and configure feature models. Noorian et al. [25] presents an approach to better select features of product lines according to stake- holder needs. To this end their approach semi-automatically maps elements from goal models and feature models. The approach requires the existence of trace links between the feature model and natural language documents (e.g. interview transcripts) as well as between the goal model and natural language documents. Using natural language processing techniques, the natural language documents are automatically analyzed, and the feature model and the goal model are annotated accordingly, and mappings are identified using integer linear programming. This work is extended in [26] which pre- sents a process for finding the optimal configuration for a product line product bases on stakeholder needs. The feature model, the goal model, and their relations are trans- formed into an integer linear program which is then used to find the optimal solution. Liu et al. [16], [17] use their extended GRL modeling languages and extend the GRL evaluation algorithm so it can be used to derive valid product configurations. These approaches aim at finding product configurations that best align with stake- holder goals, often taking the fulfilment level of softgoals into account. The questions we are interested in, however, do not seek an optimal solution but rather aim at detect- ing configurations that could lead to problems such as the inability to perform certain tasks. 3.4 Approaches for finding configurations for specific contexts Beside regular product lines the relation between goal modeling and variability mod- eling is also of interest for the development of systems that need to adapt to a dynamic context. In [27] the authors extends the approach from [24] for dynamic software prod- uct lines. Changes in the contexts a dynamic software product line can be subject to lead to reconfigurations of the product line to maximize softgoal satisfaction. Ali et al. [28] present a goal modeling approach for systems with variable context. The TROPOS goal model is annotated with facts, which determine when an element from the goal model is valid. Facts are combined into formulae which describe relevant contexts. Consistency checks are performed to ensure contradictory contexts are detected. Con- flict analysis is performed to detect conflicting actions and conflicts over resources. Asadi et al. [29] presents an approach that transforms GRL goal models and feature models and their relations into description logic and checks for inconsistencies. La- pouchnian et al. [30], [31] present an approach for parametrized goal models for various contexts. Elements in the goal model are annotated with tags which define in which context an element in valid. Context parameters can be arranged in hierarchies. If a subparameter is assigned to a goal so are the superparameters. 76 4 Case study application From Section 3 results following basic approach, which is detailed in Section 4.1. We evaluated this basic idea using the industrial case example from Section 2.2 and outline the results in the following subsections. 4.1 Initial solution idea To give support in answering the questions 1 to 3 from Section 2.1, we propose the generation of dedicated views on the goal model. Fig. 2 illustrates our approach. Based on one or a set of configurations and the information from the goal model, the dy- namicity constraint model, and their trace links two kinds of views for the goal model can be created. One view containing all elements that are valid for all configurations and one view containing all elements that are valid for at least one of the configurations in this set. Creating such a view for exactly one configuration can be considered a spe- cial case where those two views are always identical. Goal model Dynamicity constraint model Selected configuration(s) Configured goal Model(s) Trace links Fig. 2. Conceptual overview While this basic solution idea is based upon the approaches outlined in Section 3, in the following we will focus on assessing the applicability of this idea using the case exam- ple from Section 2.2. 4.2 Generation of goal models based on configuration models Fig. 3 illustrates the generation of a goal model based on one given configuration. For illustration purpose a simple network configuration was chosen, consisting of one robot of type III, one pick-up station of type I, and one drop-off station of type II. As a con- sequence, the softgoal Low Maintenance Costs and the goals Pick-Ups/Drop-Offs at Different Heights and Handover of Goods where goods are exchanged between robots mid-transport cannot be fulfilled and are removed from the goal model to show which goals the given configuration can achieve. 77 Network Robot Pick-Up Station Drop-Off Station [1..1] [1..1] [1..1] Robot Robot Robot Pick-Up Station Pick-Up Station Drop-Off Station Drop-Off Station Type I Type II Type III Type I Type II Type I Type II Transport Robot Goods Fleet AND Avoid Safety Hazards Optimized AND Delivery ... Avoid Collisions Pick-Ups/Drop- AND Offs at Different Heights Detect Accurate Obstacles Path Planning Autonomy and Flexibility Fig. 3. Generation of a goal model based on one specific configuration Goal models cannot only be generated for one particular configuration but also for a set of configurations. This is of particular interest as these kinds of networks are of a dynamic nature and can change their morphology during runtime. The dynamicity con- straint model shown in Fig. 4 defines a network that consists of one or two robots, but not more than one of type II or III each, one pick-up station of type II, and one drop- off station of type II. The goal model in Fig. 4 shows all goals that can be achieved by all configurations in this set. Again, the softgoal Low Maintenance Costs and the goals Pick-Ups/Drop-Offs at Different Heights and Handover of Goods were removed be- cause having a robot of type III in the network excludes the softgoal Low Maintenance Costs and having only one robot in the network excludes the goals Pick-Ups/Drop-Offs at Different Heights and Handover of Goods. 78 Network [1..2] Robot Pick-Up Station Drop-Off Station [0..1] [0..1] [1..1] [1..1] Robot Robot Robot Pick-Up Station Pick-Up Station Drop-Off Station Drop-Off Station Type I Type II Type III Type I Type II Type I Type II Transport Robot Goods Fleet AND Avoid Safety Hazards Optimized AND Delivery ... Avoid Collisions Pick-Ups/Drop- AND Offs at Different Heights Detect Accurate Obstacles Path Planning Autonomy and Flexibility Fig. 4. Generation of goal model containing only goals valid in all selected configurations To explore which goals can be achieved by at least one configuration from a given set of configurations a goal model can be generated accordingly. Fig. 5 illustrates this for the set of configurations introduced in Fig. 4. Unlike the goal model in Fig. 4, this goal model contains the softgoal Low Maintenance Costs because if there are no robots of type III in the network this softgoal can be achieved sufficiently. Moreover, the goal Pick-Ups/Drop-Offs at Different Heights is included in the goal model because the net- work may contain a robot of type III and the Handover of Goods is included in the goal model because the network may contain up to two robots. 79 Network [1..2] Robot Pick-Up Station Drop-Off Station [0..1] [0..1] [1..1] [1..1] Robot Robot Robot Pick-Up Station Pick-Up Station Drop-Off Station Drop-Off Station Type I Type II Type III Type I Type II Type I Type II Transport Robot Goods Low Fleet AND Maintenance Costs Avoid Safety Hazards Optimized AND Delivery ... ... Avoid Collisions Pick-Ups/Drop- AND Offs at Different Parallel Heights Transportation Order Processing Detect Accurate Obstacles Path Handover Planning of Goods Autonomy and Flexibility ... Fig. 5. Goal model containing all goals valid in at least one selected configuration 5 Lessons Learned The case study application has shown that the approach can help identify achievable and unachievable goals for different configurations of the system network. This allows for identifying needed and problematic configurations so that developers can deal with these accordingly. For example, developers can shut off functionalities in the individual systems in cases where the current network configuration cannot make use of those functionalities or developers can prevent systems from connecting to a network if that would cause problems. The approach allows for considering various analytical questions such as the achiev- ability of goals for one particular configuration as well as the achievability of goals for a set of configurations, considering the goals that can be achieved by all of these con- figurations or at least by one of these configurations. This allows for reasoning about the capabilities of such a network in terms of what can be achieved if the network as- sumes the needed configuration and what can always be achieved regardless of the cur- rent configuration. To further investigate dependencies between network configurations and goals, it might be useful to consider the opposite direction. I.e. investigating which configura- tions can achieve a particular goal or which configurations can achieve a set of goals and if there are tradeoffs to achieving a particular or a set of particular goals. I.e., does this prevent the network from achieving other goals? 80 While the approach considers the dependencies between the network configurations and their goals it might also be worthwhile investigating the dependencies between network configurations and the goals of individual systems as the fulfilment of goals by the network ultimately depends on the fulfilment of goals by the individual systems in the network. 6 Conclusion For the development of collaborative cyber-physical systems, which can dynamically form networks at runtime, it is of importance to investigate which configurations might be problematic. Based on the configuration of the network, the network is able to achieve certain goals or not. Therefore, it is necessary to investigate, which goals can be achieved by which configuration and which configuration can achieve which goals. Furthermore, it is important to identify commonalities in goal fulfilment between dif- ferent configurations. Based on contributions from the related work, we developed a solution idea that generates configured goal models showing what goals one configuration or a set of configurations can achieve. We have shown applicability of the general solution idea using an industrial case example from the automation domain. For the transport robot case example, it was pos- sible to show that our approach provides answers to the questions: Which goals can be achieved by a given configuration? Which goals can be achieved by all configurations in a set of given configurations? Which goals can be achieved by at least one configu- ration from a set of given configurations? Future work will deal with the formal definition of the approach considering more intricate relations between the goal and the dynamicity constraint models, such as dif- ferent kinds of goal decompositions for different configurations, and with more thor- ough evaluation including prototypical implementation. Also, interesting to investigate will be the configuration of networks based on a selection of goals. Due to dynamic nature of such networks, it might also be interesting to further investigate the impact of unforeseen situations such as systems joining the network that were not anticipated at design time. Acknowledgements. This research was partly funded by the German Federal Min- istry of Education and Research (grant no. 01IS16043V). We like to thank our industrial partners for their support. Namely, we thank Elham Mirzaei, Martin Neumann, and Jan Stefan Zernickel from InSystems Automation GmbH for their support with the case example. 81 References 1. Horkoff, J., Aydemir, F.B., Cardoso, E., Li, T., Maté, A., Paja, E., Salnitri, M., Piras, L., Mylopoulos, J., Giorgini, P.: Goal-oriented requirements engineering: an extended system- atic mapping study. Requir. Eng. 24, 133–160 (2019). https://doi.org/10.1007/s00766-017- 0280-z. 2. Lamsweerde, A. van, Darimont, R., Letier, E.: Managing conflicts in goal-driven require- ments engineering. IEEE Trans. Softw. Eng. 24, 908–926 (1998). https://doi.org/10.1109/32.730542. 3. Daun, M., Stenkova, V., Krajinski, L., Brings, J., Bandyszak, T., Weyer, T.: Goal Modeling for Collaborative Groups of Cyber-Physical Systems with GRL. In: Proceedings of the 32th ACM/SIGAPP Symposium on Applied Computing (2019). 4. Daun, M., Brings, J., Weyer, T., Tenbergen, B.: Fostering concurrent engineering of cyber- physical systems a proposal for an ontological context framework. In: 3rd International Workshop on Emerging Ideas and Trends in Engineering of Cyber-Physical Systems, EITEC@CPSWeek 2016, Vienna, Austria, April 11, 2016. pp. 5–10. IEEE Computer So- ciety (2016). https://doi.org/10.1109/EITEC.2016.7503689. 5. Brings, J., Daun, M., Bandyszak, T., Stricker, V., Weyer, T., Mirzaei, E., Neumann, M., Zernickel, J.S.: Model-based documentation of dynamicity constraints for collaborative cyber-physical system architectures: Findings from an industrial case study. J. Syst. Archit. 97, 153–167 (2019). https://doi.org/10.1016/j.sysarc.2019.02.012. 6. Mosterman, P.J., Zander, J.: Cyber-physical systems challenges: a needs analysis for col- laborating embedded software systems. Softw. Syst. Model. 15, 5–16 (2016). https://doi.org/10.1007/s10270-015-0469-x. 7. Tenbergen, B., Daun, M., Obe, P.A., Brings, J.: View-Centric Context Modeling to Foster the Engineering of Cyber-Physical System Networks. In: IEEE International Conference on Software Architecture, ICSA 2018, Seattle, WA, USA, April 30 - May 4, 2018. pp. 206– 216. IEEE (2018). https://doi.org/10.1109/ICSA.2018.00030. 8. Broy, M., Schmidt, A.: Challenges in Engineering Cyber-Physical Systems. Computer. 47, 70–72 (2014). https://doi.org/10.1109/MC.2014.30. 9. Daun, M., Brings, J., Bandyszak, T., Bohn, P., Weyer, T.: Collaborating Multiple System Instances of Smart Cyber-physical Systems: A Problem Situation, Solution Idea, and Re- maining Research Challenges. In: Bures, T., Weyns, D., Klein, M., and Haber, R.E. (eds.) 1st IEEE/ACM International Workshop on Software Engineering for Smart Cyber-Physical Systems, SEsCPS 2015, Florence, Italy, May 17, 2015. pp. 48–51. IEEE Computer Society (2015). https://doi.org/10.1109/SEsCPS.2015.17. 10. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10, 7–29 (2005). https://doi.org/10.1002/spip.213. 11. Daun, M., Brings, J., Obe, P.A., Weiß, S., Böhm, B., Unverdorben, S.: Using View-Based Architecture Descriptions to Aid in Automated Runtime Planning for a Smart Factory. In: 2019 IEEE International Conference on Software Architecture Companion (ICSA-C). pp. 202–209 (2019). https://doi.org/10.1109/ICSA-C.2019.00043. 12. Borba, C., Silva, C.: A Comparison of Goal-Oriented Approaches to Model Software Prod- uct Lines Variability. In: Heuser, C.A. and Pernul, G. (eds.) Advances in Conceptual Mod- eling - Challenging Perspectives. pp. 244–253. Springer Berlin Heidelberg (2009). https://doi.org/10.1007/978-3-642-04947-7_30. 13. Silva, C., Alencar, F., Araújo, J., Moreira, A., Castro, J.: Tailoring an Aspectual Goal-Ori- ented Approach to Model Features. SEKE 2008. 472–477 (2008). 82 14. Semmak, F., Gnaho, C., Laleau, R.: Extended Kaos to Support Variability for Goal Oriented Requirements Reuse. MoDISE-EUS. (2008). 15. Semmak, F., Laleau, R., Gnaho, C.: Supporting variability in goal-based requirements. In: 2009 Third International Conference on Research Challenges in Information Science. pp. 237–246 (2009). https://doi.org/10.1109/RCIS.2009.5089287. 16. Yanji Liu, Yukun Su, Xinshang Yin, Mussbacher, G.: Combined propagation-based rea- soning with goal and feature models. In: 2014 IEEE 4th International Model-Driven Re- quirements Engineering Workshop (MoDRE). pp. 27–36 (2014). https://doi.org/10.1109/MoDRE.2014.6890823. 17. Yanji Liu, Yukun Su, Xinshang Yin, Mussbacher, G.: Combined goal and feature model reasoning with the User Requirements Notation and jUCMNav. In: 2014 IEEE 22nd Inter- national Requirements Engineering Conference (RE). pp. 321–322 (2014). https://doi.org/10.1109/RE.2014.6912277. 18. Santos, E., Castro, J., Sanchez, J., Pastor, O.: A Goal-Oriented Approach for Variability in BPMN. WER. (2010). 19. 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. ACM, New York, NY, USA (2008). https://doi.org/10.1145/1363686.1363840. 20. Yu, Y., Lapouchnian, A., Liaskos, S., Mylopoulos, J., Leite, J.C.S.P.: From Goals to High- Variability Software Design. In: An, A., Matwin, S., Raś, Z.W., and Ślęzak, D. (eds.) Foun- dations of Intelligent Systems. pp. 1–16. Springer Berlin Heidelberg (2008). https://doi.org/10.1007/978-3-540-68123-6_1. 21. Asadi, M., Bagheri, E., Gašević, D., Hatala, M., Mohabbati, B.: Goal-driven Software Prod- uct Line Engineering. In: Proceedings of the 2011 ACM Symposium on Applied Compu- ting. pp. 691–698. ACM, New York, NY, USA (2011). https://doi.org/10.1145/1982185.1982336. 22. Gonzales-Baixauli, B., Leite, J.C.S.P., Mylopoulos, J.: Visual variability analysis for goal models. In: Proceedings. 12th IEEE International Requirements Engineering Conference, 2004. pp. 198–207 (2004). https://doi.org/10.1109/ICRE.2004.1335677. 23. António, S., Araújo, J., Silva, C.: Adapting the i* Framework for Software Product Lines. In: Heuser, C.A. and Pernul, G. (eds.) Advances in Conceptual Modeling - Challenging Perspectives. pp. 286–295. Springer Berlin Heidelberg (2009). https://doi.org/10.1007/978- 3-642-04947-7_34. 24. Silva, C., Borba, C., Castro, J.: A Goal Oriented Approach to Identify and Configure Fea- ture Models for Software Product Lines. WER. (2011). 25. Noorian, M., Bagheri, E., Du, W.: From Intentions to Decisions: Understanding Stakehold- ers’ Objectives in Software Product Line Configuration. Int. Conf. Softw. Eng. Knowl. Eng. 671–677 (2014). 26. Noorian, M., Bagheri, E., Du, W.: Toward automated quality-centric product line configu- ration using intentional variability. J. Softw. Evol. Process. 29, e1870 (2017). https://doi.org/10.1002/smr.1870. 27. Guedes, G., Silva, C., Soares, M.: Comparing Configuration Approaches for Dynamic Soft- ware Product Lines. In: Proceedings of the 31st Brazilian Symposium on Software Engi- neering. pp. 134–143. ACM, New York, NY, USA (2017). https://doi.org/10.1145/3131151.3131162. 28. Ali, R., Dalpiaz, F., Giorgini, P.: Reasoning with contextual requirements: Detecting incon- sistency and conflicts. Inf. Softw. Technol. 55, 35–57 (2013). https://doi.org/10.1016/j.infsof.2012.06.013. 83 29. Asadi, M., Gröner, G., Mohabbati, B., Gašević, D.: 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. 30. Lapouchnian, A., Mylopoulos, J.: Capturing contextual variability in i* models. In: Pro- ceedings of the 5th International i* Workshop. pp. 96–101 (2011). 31. Lapouchnian, A., Mylopoulos, J.: Modeling Domain Variability in Requirements Engineer- ing with Contexts. In: Laender, A.H.F., Castano, S., Dayal, U., Casati, F., and de Oliveira, J.P.M. (eds.) Conceptual Modeling - ER 2009. pp. 115–130. Springer Berlin Heidelberg (2009). https://doi.org/10.1007/978-3-642-04840-1_11.