=Paper=
{{Paper
|id=Vol-1674/iStar16_pp79-84
|storemode=property
|title=Modelling Requirements for Content Recommendation Systems
|pdfUrl=https://ceur-ws.org/Vol-1674/iStar16_pp79-84.pdf
|volume=Vol-1674
|authors=Sarah Bouraga,Ivan Jureta,Stéphane Faulkner
|dblpUrl=https://dblp.org/rec/conf/istar/BouragaJF16
}}
==Modelling Requirements for Content Recommendation Systems==
Modelling Requirements for Content Recommendation Systems Sarah Bouraga1,2 , Ivan Jureta1,2,3 , and Stéphane Faulkner1,2 1 Department of Business Administration, University of Namur 2 PReCISE Research Center, University of Namur 3 Fonds de la Recherche Scientifique – FNRS, Brussels {sarah.bouraga, ivan.jureta, stephane.faulkner}@unamur.be Abstract. This paper addresses the modelling of requirements for a con- tent Recommendation System (RS) for Online Social Networks (OSNs). We model an essential dynamic on OSN, namely that when a user creates (posts) content, other users can ignore that content, or themselves start generating new content in reply. This dynamic is key to designing OSNs, because it influences how active users are, and how attractive the OSN is for existing, and to new users. We apply a well-known Goal Oriented RE (GORE) technique, namely i-star (i*), and show that this language fails to capture this dynamic, and thus cannot be used alone to model the problem domain. We suggest using an additional layer of modelling on top of an i* model, using Petri nets, and discuss the benefits of doing so. 1 Introduction A particular trait of Online Social Networks is that behavior of one user has an impact on the behavior of other users and of the system itself. When a user shares what we call an event type (an event type is an activity generated by a user that can produce a notification to this users friends, for instance “Share a photo”), the users friends - if they see it - have a choice: they can decide to reply to that event type or not. This decision has an impact on the information that is exchanged on the system. We can also observe that the amount and the order in which the event types are notified to the users vary depending on the OSNs. Some OSNs, such as Tumblr or Twitter, notify each user will all the event types generated by the user’s friends. Others, such as Facebook, seem to apply some sort of recommendation technique in order to decide which, and in what order, event types are displayed to the user. This dynamic and these specificities make the OSNs a particular class of systems; the requirements of which may or may not be modeled using existing requirements modelling languages. On OSNs, a user switches roles constantly between content generator and content receiver. The goals and softgoals are different when the user is generat- ing a post, as opposed as replying to a post. In other words, the user is generating instances of different entities, depending on the role she has: a generator gener- ates instances of a “post”, while the receiver generates instances of a “reply”. Copyright © 2016 for this paper by its authors. Copying permitted for private and academic purposes. Proceedings of the Ninth International i* Workshop (iStar 2016), CEUR Vol-1674 Therefore, we believe that a RS, which needs to do content recommendation, needs to see these roles as separate. We consider two OSN users, User A and User B. User A and User B are “friends” on the OSN. A shares something on the OSN, that is, she generates an event type. The OSN has to decide if the event type should be notified to B. If it is, then B has to decide whether to reply to the event type. For instance, if A shares a photo on the OSN, and if the photo is notified to B, then the latter has to decide whether she will like, or comment the photo, or else. If B decides to reply to the event type, then her reply amounts to an event type, and she now acts as generator, that is, if she replies, then User B has generated an event to which other users may choose to reply. Hence, the mechanism goes on. The first round of this dynamic is represented in Figure 1. Fig. 1. First Round of Dynamics 2 Research Question and Methodology This paper addresses a specific case of a general problem, namely the representa- tion and management of requirements that involve some dynamic. The research question is: How can we represent the requirements for RS in one single i* di- agram? The reason we want it in one i* model, is that how this dynamic is designed into the OSN influences if the OSN will satisfy some of the basic user goals (such as, enjoy the OSN), and will influence the extent to which impor- tant softgoals are satisficed. We want to have one model where we can both do the analysis of the recommendation mechanism, and represent how it influences user goals and softgoals. This question leads to another question: What new concepts and/or relations do we need to use together with those of i* to show the dynamics represented in Figure 1? In order to address these questions, we apply the following methodology. Firstly, we construct the base layer using i*. It represents what happens on an OSN, but from a static point of view. Secondly, we construct the second layer representing the dynamic aspects of OSN, using Petri Nets. We build this layer by analyzing and identifying what happens when a user shares a post on the OSN. Finally, we connect both layers by lifting up i* symbols to the Petri Net layer. Our approach is not to extend i* with new concepts, that is, we are not changing the meta-model of i*. Indeed, we do not want our approach to require any new learning. However, we aim to represent the dynamic in one layer, have 80 Modelling Requirements for Content Recommendation Systems the i* model in the other layer, and then have relationships, which connect the two layers. The present paper is a synthetic version of a longer discussion, which is available and archived online [1]. 3 Contribution: The Layers and The Connection Between Them The first layer is displayed in Figure 2 (where the letters are connectors), and the second is displayed in Figure 3. Fig. 2. I* Layer: Strategic Rationale Model A Petri net is a particular kind of directed graph, together with an initial state called the initial marking, M0 [2]. Petri net consists of two kinds of nodes: (i) places, and (ii) transitions. Graphically, k black dots (tokens) are represented in place p. A marking is designated by M, an m-vector, where m is the total number of places. The pth component of M, indicated by M(p) is the number of tokens in place p. The Petri Net is built by analyzing the i* layer and by identifying what happens when the generator decides to post an event type. In the Petri Net, we only insert elements that are present in the base layer. With this second layer, the RS has a clear procedure to follow in case the user posts an event type and in case it decides to notify it. Furthermore, a clear distinction is made between User A as generator and User A as receiver (same goes for User 81 Proceedings of the Ninth International i* Workshop (iStar 2016), CEUR Vol-1674 B); which is important for the RS, because depending on who generated the ET (and who will receive the ET), the decision of notify or not notify might be different. How do these layers connect? The base layer represents the various elements that can occur in an OSN. The second layer represents the dynamic found in the content recommendation context of an OSN and is triggered by the sharing of an original event type. Graphically, the connection occurs as follows. Once the trigger happens, the symbols of the base layer lift up to the second layer. We replace the circles of the Petri Nets with the corresponding symbol of i*. Hence, the model reads more easily; because we directly see to what symbol the circles of the Petri Net correspond. Nevertheless, we do not insert new symbols or new concepts. All the symbols and concepts are known and belong to the i* or Petri Net languages. We just use the Petri Net formalism to sequence the i* symbols. Fig. 3. Petri Net Layer The “new” Petri Net model is represented in Figure 4. The first layer is thus composed of Figure 2; while the second layer consists of Figure 4. This swap allows a clear connection between the two layers. The relevant content for the modelling of the dynamics is elevated from Figure 2 to Figure 3; where we use the Petri Net procedure to model the observed dynamics. 4 Discussion The motivating problem of this paper was the modelling of requirements for content recommendation on OSNs. More specifically, we aimed at modelling the mechanism represented in Figure 1. We noticed that the original i* did not allow us to model the dynamics observed on OSNs. We also know that Petri Nets are a nice way to simulate the dynamic behavior of a system [2]. We combined these two standards, using a layer mechanism to model, in one diagram, the requirements of a content RS. The benefits of our approach are threefold. 82 Modelling Requirements for Content Recommendation Systems Fig. 4. Connection Between Layers Firstly, we do not introduce another extension, any new concepts, to an existing language. Hence, the use of our proposal does not require any new learning. Secondly, the layer mechanism allows us to manage the complexity. Each layer consists of a diagram using only the concepts and symbols of one language. So, each layer can be read easily, but models the relevant information. The com- bination of these two layers conveys the necessary information for the modelling of requirements for content recommendations. Thirdly, the nature of our approach (the use of layers) allows us to extend the scope of the models without any difficulty. On the one hand, other languages can be used together via layers. On the other hand, we can imagine adding more details to our models by adding other layers, in order to manage more aspects of a RS for OSNs. The main limitations of our models are related to the dynamics. Firstly, our diagrams show “one instance” of the mechanism. However, the fact that we can observe n instances of the mechanism could be modeled more clearly. Secondly, we show the interaction between two users. However, on OSNs many users are involved in many different mechanisms. This situation does not show on our models here. Also, the distinction between user roles is limited to what they do. We could also take into account their motivations in order to distinguish between them. Finally, we did not analyze scaling problems associated to the graphical no- tation. 5 Related Work There is considerable work on extending requirements modeling languages. Souza et al. [3, 4] proposed the AwReqs and EvoReqs. AwReqs represent undesirable 83 Proceedings of the Ninth International i* Workshop (iStar 2016), CEUR Vol-1674 situations to which stakeholders would like the system to adapt in case they happen. They can be used as indicators of requirements convergence at runtime. EvoReqs prescribe what to do in these situations. They consist of specific changes to be carried out on the requirements model, under specific circumstances. They are modeled as Event-Condition-Action (ECA) rules that are activated if an event occurs and a certain condition holds. Ali et al. [5] addressed the reason- ing with contextual requirements. The connection between the various concepts, that is, the AwReqs and EvoReqs for the proposal of Souza et al. [3, 4], and the contexts for Ali et al. [5] is not as integrated as ours. For the former so- lution, Souza et al. [3, 4] model the AwReqs on the requirements model, but the EvoReqs are rules specified in natural language outside of the diagram. For the latter solution, Ali et al. [5] clearly manage the context, and integrate this notion directly in the models. However, the notion of dynamics is not included, whereas we propose an integrated solution, including the dynamics aspect. Other examples of extensions are discussed in the longer version of this paper [1]. 6 Conclusion and Future Work We believe i* is appropriate for the modeling of OSN requirements. However, as mentioned above, the existing concepts in i* do not allow us to model the dynamics observe in the use of OSNs. Hence, we proposed an add-on to the existing framework, by introducing a second layer. The latter consists of a Petri Net modelling the dynamics observed in OSNs. Future work will consist in addressing the limitations we raised in Section 4. More specifically, we aim at providing a more general model, taking into account the various mechanisms an individual user can be involved in; as well as the several instances of mechanisms that can exist. We will also try to address scaling issues as well as to take into account the various motivations of different users. References 1. Bouraga, S., Jureta, I., Faulkner, S.: Modelling requirements for content recommen- dation systems. arXiv:1606.05746 (2016) 2. Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77(4) (1989) 541–580 3. Souza, V.E.S., Lapouchnian, A., Mylopoulos, J.: (requirement) evolution require- ments for adaptive systems. In: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, IEEE Press (2012) 155–164 4. Souza, V.E.S.: A requirements-based approach for the design of adaptive systems. In: Proceedings of the 34th International Conference on Software Engineering, IEEE Press (2012) 1635–1637 5. Ali, R., Dalpiaz, F., Giorgini, P.: Reasoning with contextual requirements: Detecting inconsistency and conflicts. Information and Software Technology 55(1) (2013) 35– 57 84