Running head: Lab 1 - Interactive Context Analysis Tool Lab 1 - Interactive Context Analysis Tool Team Red Brandon Ripley CS411W Professor Brunelle and Hill April 19 2014 Version 3 1 Lab 1 - Interactive Context Analysis Tool 2 Table of Contents 1. INTRODUCTION .......................................................................................................................3 2. PRODUCT DESCRIPTION ........................................................................................................4 2.1 Key Product Features .............................................................................................................4 2.2 Major Components .................................................................................................................5 3. IDENTIFICATION OF CASE STUDY ......................................................................................9 4. ICAT PRODUCT PROTOTYPE ..............................................................................................10 4.1 Prototype Architecture .........................................................................................................10 4.2 Prototype Features and Capabilities .....................................................................................11 4.3 Prototype Development Challenges .....................................................................................11 GLOSSARY ..................................................................................................................................13 REFRENCES .................................................................................................................................14 List of Figures Figure 1: Major Functional Component Diagram for ICAT .......................................................... 6 Figure 2: Data Model ...................................................................................................................... 7 Figure 3: Centrality Algorithms ...................................................................................................... 8 Figure 4:Major Functional Control Diagram for the ICAT prototype ............................................ 9 Lab 1 - Interactive Context Analysis Tool 3 1. INTRODUCTION Albert Einstein once said, "If I were given an hour to save the planet, I would spend fiftynine minutes defining the problem and one minute resolving it (Cougar 1995)."The statement from Einstein validates that the first step in problem solving is understanding the a problem before reaching a solution. Reaching solutions before completely defining and understanding the problem has been a major issue and is defined as the Type III error by Mitroff and Featheringham in 1974 (Yadav & Korukonda,1985). The Type III error cause nearly 80% of all human and organizational failures (Yadav & Korukonda, 1985). Resources are wasted every year on not correctly defining the problem before trying to solve it. The type III error often occurs due to a linear development process which fails to account for changing problem frames, insufficient analysis of a problem before a solution is reached, and a lack of traceability in the process of solving the problem. The Type III error can be eluded by the introduction of the Interactive Context Analysis Tool(ICAT). ICAT is a graphical analysis tool that will create interactive diagrams depicted by the users' input, and a visual representation of Entities and the Forces acting upon them in the scope of a problem. It will also keep a log of metadata so that traceability on how a solution was reached can be achieved. ICAT will then generate reports based on the relationships between the Entities and their weight of influence towards one another. ICAT follows the motto, "a picture is worth a thousand words," allowing users to visualize their problem. (This space intentionally left blank.) Lab 1 - Interactive Context Analysis Tool 4 2. PRODUCT DESCRIPTION ICAT is an interactive software tool used to visualize problem domains. It is a drawing tool with a built in report generator that assists System Engineers in their attempt to correctly identify a problem. The ICAT will allow its users to input different Entities that affect or are affected by a specific problem. These Entities will then be connected by Forces with varying forms of influence, depending on how much they are needed in the scheme of the problem. As a basic drawing tool, it will give users features such as zooming, panning, exporting, and printing. Users will be able to generate reports using the Prominence and Influence algorithms. The main emphasis of the ICAT is to eliminate the Type III error, thus reducing the resources needed to reach a proper solution. The goal is to give confidence to the user in understanding the problem completely, before rushing into a solution. 2.1 Key Product Features The main feature of ICAT is its ability to give Systems Engineers the software to put a problem into visual context. It achieves this through the use of a diagram tool that can create and edit Entities with weighted influences attached to them. The layout is similar to a brainstorming diagram with added features such as Prominence and Influence report generators. ICAT's diagrams have similar features to other diagramming tools such as zoom, pan exporting, and printing current screen selections. ICAT will have the ability to let System Engineers add specific Entities that have their own style shapes depending on the type. It also allows System Engineers to add metadata that can be used to shape the weighted influence between Entities in real time. System Engineers can also use this metadata to bring traceability to Lab 1 - Interactive Context Analysis Tool 5 the diagram. This will be used to trace a path of how they reached their conclusion of the problem domain. The feature that makes ICAT stand out for System Engineers is its ability to provide analytics using sophisticated algorithms on the diagram. System Engineers will be able to run two different sets of algorithms which will display results pertaining to the diagram currently being modeled. First the Prominence algorithm will generate a report of all Entities determined by how many and the strength of the Forces are that act upon them. Second the Influence algorithm will generate a report that orders Entities by the amount and the strength of the Forces that emanate from each. The ICAT also hopes to integrate with current software, in order to streamline the problem solving process. The current software does not delve into the problem indentifying process as early as the ICAT. ICAT would be the first step in a several step process. Users would first run the ICAT and export the diagram to CORE or another similar program to continue the process. 2.2 Major Components ICAT's major components contain four main elements as seen in Figure 1. ICAT follows the Model View Controller design principle which will make up three of the main elements. The fourth element pertains to the Analytics Engine which will be responsible for handling all the reports that are generated using Prominence and Influence. (This space intentionally left blank.) Lab 1 - Interactive Context Analysis Tool 6 Figure 1: Major Functional Component Diagram for ICAT One major component is the graphical interface. The graphical interface presents the user with the tools and canvas needed to interact and create diagrams in ICAT. There are three main features provided when working inside the graphical interface. The user will be presented with the buttons and menus in order to add Entities and Forces inside the canvas. The properties window will be provided when adding and editing Entities in order to better arrange the metadata about said Entity. Last, the canvas will allow the user to mold the diagram to their preference. Another major component is the data model, as seen in Figure 2. The ICAT data model will contain a project made up Entities and Forces through their vertices and edges. The vertex in the ICAT graph will represent an Entity in a unique problem-space with information pertaining to itself. The information the user will input for the Entity is its designation, classification, and some metadata pertaining to the Entity. All Entities will also be given a vector coordinate to be drawn on the canvas. Edges, which are the other set of data in the ICAT, are description of Forces that will have an origin and destination Entity, in which a direction of influence will be Lab 1 - Interactive Context Analysis Tool 7 derived. Forces will contain a weighted value in which the influence between Entities is determined. An ICAT project is made up of any number of sets of these two data structures, as well as any additional project rotational the user may deem necessary. Figure 2: Data Model Another major component is the controller. Controllers will be used to manage all information that is stored in the data model, along with keeping the data model consistent with what is shown in the graphical interface. A controller will also be written to interact with the analytics engine by sending information from the data model to the report generator as well as the file system. The final major component that will make up the ICAT is the analytics engine. The analytics engine will be used to perform advanced mathematical equations as seen in Figure 3. It then generates a report based on the output of the algorithms. The Prominence algorithm generates an ordered report of Entities based on how many Entities and the weight values of the Lab 1 - Interactive Context Analysis Tool 8 Forces acting upon them. For example: if an Entity had three strong Forces and Entities affecting it, then it would be higher on the report than an Entity with only one medium force and Entity connected to it. The Influence algorithm will also generate a report using the number of Entities and Forces extrude from any given Entity. An example is if an Entity has fives Forces protruding from it then it would be much higher on the report than an Entity with only two Forces. If needed, during the generation of these reports, the user will also be able to check the Entities for their visibility and controllability. Figure 3: Centrality Algorithms Lab 1 - Interactive Context Analysis Tool 3. IDENTIFICATION OF CASE STUDY Dr. Patrick Hester, an associate professor in the Engineering Management and System Engineering Department at Old Dominion University, has expressed his desire for a piece of software that would be able to aid him in his understanding of critical problems. Dr. Hester has relayed his concerns with the lack of software currently available, to aid in the problem indentifying steps associated with problem solving. In his line of work it is crucial to understand a problem before trying to find a solution to it. Dr. Hester is interested in a software that will create a visual representation of a problem, traceability to how a problem was settled upon, and generate reports about the centrality in the problem. 9 Lab 1 - Interactive Context Analysis Tool 10 4. ICAT PRODUCT PROTOTYPE The ICAT prototype will be modeled after the ICAT product having similar capabilities. The prototype will contain a graphical user interface that allows the user to have complete control over all the Entities and Forces on the canvas. The prototype will demonstrate the ability to add, edit, and remove Entities and Forces in the canvas. It will also demonstrate the ability for the analytics engine to generate reports based on the information that the graph presents using both Prominence and Influence. It is important for these crucial elements to appear in the prototype, in order to prove the viability of the product. The prototype will not include some of the minor features such as collaboration and exportation to current software. These features are not necessary in order to prove the viability of the product. The prototype will however allow for future updates to provide these added features. 4.1 Prototype Architecture The prototype will contain five major components and needs no networking capabilities. The four major components of the ICAT product will be evident in the prototypes functionality. The main difference between the two component diagrams is the addition of the testing dashboard to the prototype as seen in Figure 4. The testing dashboard will be used during the development process in order for the developers to better automate the testing procedure. (This space intentionally left blank.) Lab 1 - Interactive Context Analysis Tool 11 Figure 4:Major Functional Control Diagram for the ICAT prototype 4.2 Prototype Features and Capabilities The ICAT prototype implements the same major capabilities as the product with leaving out a few features . First, it will provide a visual representation of a problem domain with Entities set in place that will show the direction of influence. Secondly, it will generate reports on Prominence and Influence. The small features that the prototype will not incorporate is both collaboration and exportation to current software. Collaboration is an addition that can make it easier for system engineers to work asynchronous with one another. Exportation to current software brings no added benefit to the core software of the ICAT. It can be added as an update or an extension at a later date, in order to make it easier for the user to streamline the problem solving process. 4.3 Prototype Development Challenges During the development process there are many different challenges that may arise for the development team. ICAT has an extensive use of diagrams which would entail a complicated Lab 1 - Interactive Context Analysis Tool graphical engine. Having minimal time spent working with graphics engine may present a challenge to ICAT. The canvas may not be fully functional in the prototype due to the inexperience. Another presentable challenge will be designing a data model that interacts with the canvas in determining the direction of influence and where current Entities are stored on the graph. The analytics will need to parse this information, in order to apply it in the Prominence and Influence algorithms. This may cause problems, if the data is stored or taken incorrectly. Last, the team has to overcome the challenge of making a standalone client with minimal memory leaks and proper resource allocation. 12 Lab 1 - Interactive Context Analysis Tool GLOSSARY Attribute: An Entity that represents some quality that exhibits an effect on other Entities. Entity: Objects within the data model; types include: problem, stakeholder, objective, attribute, resource. Force: Constraining or enabling Forces that show influence between Entities. Influence: A measure of the effect that one Entity has on others in the system; also known as out-centrality. Metadata: Data associated with Entities or Forces. Objective: An Entity that represents a goal or target of the real world project. Problem: An Entity that represents the issue or conflict that the solution is designed to address. Prominence : A measure of the effect that other Entities in a system have on a specific Entity; also known as in-centrality. Resource: An Entity that represents a required good or service. Stakeholder: An individual or group affected in some way by the undertaking (Stevens Institute of Technology, 2008). Systems Approach: The application of a systematic disciplined engineering approach that considers the system as a whole, its impact on its environment and continues throughout the lifecycle of a project(Stevens Institute of Technology, 2008). Systems Engineering: The orderly process of bringing a system into being using a systems approach(Stevens Institute of Technology, 2008). Type III Error: The type of error described as "giving the right answer to the wrong problem" (Kimball,1957). Workspace: The area within ICAT in which the user edits or views the project. 13 Lab 1 - Interactive Context Analysis Tool REFRENCES Kimball,A.(1957). Errors of the third kind in statistical consulting. Journal of the American Statistical Association,52(278),133-142. Stevens Institute of Technology.(2008). Core Concepts of Systems Engineering: Glossary. Retrieved from The Center for Innovation in Engineering and Science Education: http://www.ciese.org/curriculum/seproject/glossary.html Yadav, S.B.,& Korukonda, A.(1985). Management of Type III Error in Problem Identification. Interfaces,15(4),55-61. Daniel Cougar(1995). Creative Problem Solving and Opportunity Finding. 178. 14