______________________________________________________________________________ Video 1A (preload model 1 - with any element property selected) —— Welcome to Growing Leaf, a tool for modeling and analyzing iStar goal models. The tool consists of a stencil on the left, a canvas in the centre, and the property view on the right. The centre canvas has a model of the Trusted Computing Case Study. Let’s start by introducing this model as you will use it in the next step. Relevant actors in this situation include the PC user, PC product producer and the data pirate. A PC user can acquire PC products legally or acquire them illegally through a data pirate. When acquiring PC products, a PC user may be interested in both saving money, and in abiding by licensing regulations. Legal acquisition helps to abide by licensing regulations, but has a negative effect on the software users desire to find affordable products. Acquiring PC products illegally helps to satisfy the goal of finding affordable products, but breaks licensing regulations. From a different perspective, the PC product producer wants to sell PC products in order to make a profit. In order to be profitable, the PC product provider must make PC products desirable and also depends on the PC user to abide by licensing regulations. Allowing the use of peer-to-peer technology in PC products can help to make these products more desirable, but can also allow the Data Pirate the ability to make pirated content available. — Pause — To add an element to the canvas from the stencil simply drag it on to the canvas. To rename any element or change the satisfaction value, first click on the element, and then update the name in the “Node Name” field or change the Initial Satisfaction Value in the drop-down menu. When editing the name of an element, do not use the enter key, but instead use the mouse to click out of the “Node Name” box. Here we added another Actor called “PC Corporate User”, a Goal “PC Products Be Obtained”, and a task “Purchase PC Products”. We can now create links. In order to create a link, click on the element source. Here we have click on “Purchase PC Products”. Notice three icons have appeared above the element. From left to right they are: resize, delete, and create a link. We click and drag the link icon to the destination goal “PC Products Be Obtained”. By default an AND-Decomposition link is created. You can change the link type by hovering the link until the gear and delete icon appears and then clicking the gear icon. This populates the relation type in the property view on the right. The drop down menu allows you to select a different link type. Here we have selected “OR Decomposition” which is also known as “Means End”. — Pause — You can move the canvas or any element on it around by clicking on it and dragging to it’s desired location. All other features are located in the top Toolbar. You can “Zoom” in and out, and change the font size. At various points in this study you will be asked to load a model by clicking the “Load” icon, so we point it out now. Do not use the delete keyboard key ever. — Pause — Now we need to introduce a bit of terminology. Model nodes, that is Goals, Tasks, Resources, and Soft Goals will form a graph. Leaf Nodes are defined as nodes with NO Incoming decomposition (AND/OR [Means-End]) or contribution links (Makes, Breaks, Helps, Hurts) and NO Outgoing dependency links (Depends). Root Nodes or Top-Level Nodes are defined as nodes with NO Outgoing decomposition (AND/OR [Means-End]) or contribution links (Makes, Breaks, Helps, Hurts) and NO Incoming dependency links (Depends). In this example, if we look only at the “PC Corporate User” actor, “PC Products Be Obtained” is a Root Node or Top-Level Node. and “Purchase PC Products” is a Leaf Node. You can also review these definitions in the Study Terminology and Reference provided. — Pause — If you have any further questions please ask. You can also refer to the provided iStar cheat sheet. This concludes this video. ______________________________________________________________________________ Video 1B (preload forward propagation example) This video introduces the analysis view for GrowingLeaf. All of the analysis you will do today is based on one technique called forward analysis. Forward Analysis propagates values from Leaf Nodes to Root Nodes or Top-Level Nodes, following the propagation rules of each link type. Recall from the last video that: Leaf Nodes are defined as nodes with NO Incoming decomposition or contribution links, and NO Outgoing dependency links. and Root Nodes or Top-Level Nodes are defined as nodes with NO Outgoing decomposition or contribution links, and NO Incoming dependency links. In the partial model at the bottom, Goal_83, Task_89, and Task_92 are Leaf Nodes and have been given initial values. Goal_81 and Soft Goal_84 are Root Nodes. This collection of nodes and links will show you how Forward Analysis works. Dependency links propagate the value at the target to the value at the source. For example Goal_15 propagates the Satisfied label to Goal_14. Decomposition: When a goal (or task) has an AND-Decomposition or OR-Decomposition (Means-End) with one or more children, we can calculate the value of the goal using the ordering: Fully Denied < Partially Denied < Conflict < Unknown < Partially Satisfied < Fully Satisfied. For AND-Decomposition we take the minimum value of all the child nodes. For OR-Decomposition we take the maximum value of all the child nodes. See four examples of decomposition at the top. Contribution Links: Contribution links propagate based on the type of link. This example contains all the permutations of the link type with the initial evaluation labels: Fully Denied, Partially Denied, Partially Satisfied, and Satisfied. You can also refer to the provided Study Terminology and Reference sheet, for the full table of contribution and decomposition links. — Pause — With any model, once you have assigned all the initial evaluation labels to the Leaf Nodes you can run forward analysis. To run forward analysis, click the green Analysis in the top Tool Bar and the Analysis View will show. Then click Forward Analysis from the Right Panel. The analysis will compute and will show up in the History Log on the left panel. The model now contains the results of the analysis. Notice a slider has appeared on the bottom of the screen that allows you to click between the original and analyzed model. The model at the bottom shows you that forward analysis continues to propagate over intermediate nodes, and propagates values throughout the model. The purpose of forward analysis is to ask “what if” questions of the model. By varying the evaluations of Leaf Nodes you can determine their impact on Top-Level Nodes. This is a way of testing the impact of possible scenarios. You can pause the video now to review the results of forward analysis. To navigate back to the Modeling view, move the indicator on the slider back to the initial position on the left, and then click Model then click Model Current Analysis. Note: If you do not move the slider back to the initial position, the current evaluation labels will show in the Modeling View. — Pause — If you have any further questions please ask. This concludes this video. ______________________________________________________________________________ Video 2 (Zoom into the model - and show analysis, also slides of dynamics types.) Also power point slides for dynamic types and image for 2B. In this video we explore what it means for goal model elements to change over time. Next we look at a model for a Network Administrator at an Internet Service Provider. Their Top-Level goals are to Improve Network Infrastructure and to Increase Customers. They can Increase Customers by having sufficient capacity on the network and by having a reliable network. The trade-offs the Network Admin is considering making is whether to Maintain Network, Update Current Technology, and Increase Capacity on the network. Increasing capacity is decomposed into getting capital funding and developing the project. — Introduce dynamic types. 2A: (Show power point part.) We extend i* to enable analysis where the Leaf Nodes in the model change over time. Recall to evaluate goal models we use the evaluation labels: Fully Denied, Partially Denied, Partially Satisfied, and Fully Satisfied. Note: Unknown and Conflict labels are not used for Leaf Nodes in analysis. If the Leaf Nodes change “Stochastically” over time, this means that in the next state they can have any of the evaluation labels including the same one as the previous state. When we look at any interval, we can say the value increases, decreases, remains constant, or is stochastic, and have named elementary functions for these. We also have functions that define the behaviour over multiple intervals. Denied-Satisfied says that the value will be Fully Denied until a time n when the value will be Fully Satisfied. Similarly, Satisfied-Denied says the value will be Fully Satisfied until a time n when the value will be Fully Denied. Monotonic Negative says the value will decrease until a time n when it will remain Fully Denied. Monotonic Positive says the value will increase until a time n when it will remain Fully Satisfied. Here is a list of all our component functions. We have provided this list on the reference sheet so that you can review them at your own pace. This list is incomplete and you can create your own functions if you wish. Going back to the model, if we assign some initial dynamics, here is what a projection of this model might look like over time. Notice that the bottom left corner of some Leaf Nodes have a letter to indicate what dynamic function is used for this analysis. — Pause — 2B (Show handout and stochastic sim results of example.): We extend i* to enable analysis where the Leaf Nodes in the model change over time. Recall to evaluate goal models we use the evaluation labels: Fully Denied, Partially Denied, Partially Satisfied, and Fully Satisfied. Note: Unknown and Conflict labels are not used for Leaf Nodes in analysis. If the Leaf Nodes change “Stochastically” over time, this means that in the next state they can have any of the evaluation labels including the same one as the previous state. With our Network Administrator model we can use repeated forward analysis to understand the impacts of Stochastic Leaf Nodes. Here we iterate through a collection of results, and can imagine the values changing over time. — Pause — If you have any further questions please ask. This concludes this video. ______________________________________________________________________________ Video 3A/B In this video we explore how to analyze models over time. — Introduce model. The next model you will look at is of a city evaluating its waste management infrastructure. The city currently has a landfill (dump) that has not reached capacity and is considering investing in building a new one as well as a recycling and composting facility. This model shows the City and its Citizens. The city wants to satisfy Manage City Waste, Comply with Standards, Reduce Operating Costs, Have Workers Union Contract, and for their citizens to Enjoy City, their Top-level goals. — Pause — — 3A In the last video, we introduced dynamic functions that you can assign to Leaf Nodes, now we show you how to simulate these functions over time. First assign initial evaluation labels and dynamic types to your leaf nodes. To do this click on each node and select the values from the properties panel on the right. The dynamic functions are now listed in the drop down “Function Type” menu. Once you have set up your model, navigate to the analysis view (by clicking Analysis from the top toolbar). Then click “Leaf Simulate” from the right panel. The analysis will compute and will show up in the History Log on the left panel. The model now contains the results of the simulation. Notice the slider at the bottom on the screen now has 20 simulation steps. You can scroll through the simulation to see how the model evaluations have changed as a result of the “dynamic” functions. Remember, when you click Model and then Model From Current State, the values based on the current slider position will be shown in the modeling view. You can repeat this process, changing the dynamic function types and initial values, to understand trends in the model. — 3B In the last video, we introduced stochasticly changing Leaf Nodes, now we show you how to use stochastic simulation to change the values over time. First assign initial evaluation labels to your leaf nodes. To do this click on each node and select the values from the properties panel on the right. Once you have set up your model, navigate to the analysis view (by clicking Analysis from the top toolbar). Then click “Stochastic Simulation” from the right panel. The analysis will compute and will show up in the History Log on the left panel. The model now contains the results of the simulation. Notice the slider at the bottom on the screen now has 20 simulation steps. You can scroll through the simulation to see how the model evaluations have changed as a result of the “stochastic” values. Remember, when you click Model and then Model From Current State, the values based on the current slider position will be shown in the modeling view. You can repeat this process to understand trends in the model. — Pause — If you have any further questions please ask. This concludes this video. ______________________________________________________________________________ Video 3C (assign initial satisfaction labels ) In this video we explore an advanced way to use forward analysis. — Introduce model. The next model you will look at is of a city evaluating its waste management infrastructure. The city currently has a landfill (dump) that has not reached capacity and is considering investing in building a new one as well as a recycling and composting facility. This model shows the City and its Citizens. The city wants to satisfy Manage City Waste, Comply with Standards, Reduce Operating Costs, Have Workers Union Contract, and for their citizens to Enjoy City, their Top-level goals. — Pause — Now that you know how to use forward analysis, you can use it to understand model alternatives and consider what would happen if instead of choosing alternatives all at once, you can choose them one at a time. You can also choose to satisfy tasks in a sequence. To do this, assign initial satisfaction labels to the model and navigate to the analysis view (by clicking Analysis from the top toolbar). Click Forward Analysis and values will be propagated through out the model. If you like these values, leave the slider in the right most position and click Model and then Model From Current State. Back at the modeling view, you can update one or more of the initial satisfaction values and return to the analysis view to run Forward Analysis again with the new values. You can repeat this process to understand trends in the model. — Pause — If you have any further questions please ask. This concludes this video. ______________________________________________________________________________