Running Head: Lab 1 – Interactive Context Analysis Tool Lab I – Interactive Context Analysis Tool Team Red Abdulaziz Bin Taleb CS411W Janet Brunelle & Hill Price March 17, 2014 Version II 1 Lab 1 – Interactive Context Analysis Tool 2 Table of Content: 1. INTRODUCTION.………………………………………………………………………..3 2. PRODUCT DESCRIPTION………………………………………………………………4 2.1 Key Product Features……………………………………………………………...4 2.2 Major Components………………………………………………………………...5 3. IDENTIFICATION OF CASE STUDY…………………………………………………..8 4. ICAT PRODUCT PROTOTYPE…………………………………………………………9 4.1 Prototype Architecture…………………………………………………………….9 4.2 Prototype Features and Capabilities…...…………………………………………11 4.3 Prototype Development Challenges……………………………………………...11 5. GLOSSARY……………………………………………………………………………..13 6. REFERENCES…………………………………………………………………………..14 List of Figures: 1. Figure 1: Major Functional Component Diagram (MFCD) for ICAT……………………6 2. Figure 2: Major Functional Component Diagram (MFCD) for ICAT prototype...……..10 Lab 1 – Interactive Context Analysis Tool 3 1. Introduction Albert Einstein once said, “If I were given one hour to save the planet, I would spend fifty-nine minutes defining the problem and one minute resolving it.” The question to be asked in problem solving is whether or not the correct underlying problem is being addressed. Problem-solving context often relies on ignoring the type III errors, which is obtaining the correct answer for the wrong problem. Mitroff and Featheringham defined the term type III errors back in 1974 (Yadav & Korukonda, 1985). It is an error that appears in more than eighty percent of human failures in organizations and institutions. This would often cause a waste of resources and time because of a failure to clearly define the actual problem. A type III errors frequently results in a failure to consider the changes of the problem’s frame, lack of coherently traceable planning efforts, and an inadequate examination of the problem. The frequent occurrence of type III errors in problem solving has undoubtedly resulted in a loss of funds and resources for many people and organizations; however, problem solving can be much more efficient, and type III errors can be corrected by the introduction of interactive software such as the Interactive Context Analysis Tool (ICAT). ICAT is a graphical tool that creates an interactive diagram based on the user’s data inputs. Furthermore, ICAT’s main purpose is to generate a visual representation of the Entities and Forces influencing in the problem, while also keeping a traceable record of the project history and the changes implemented. An analysis of the relationships among the Entities and the relative weight of influence between them will be created to allow the user to visualize the solution. “A picture is worth a thousand words,” and ICAT allows its user to visualize the problem as well as the solution. Lab 1 – Interactive Context Analysis Tool 4 2. Product Description The ICAT is a graphical tool that will help the user in system engineering to create a visual representation of a problem’s domain. The user will be able to create the Entities and the Forces associated with the problem. Moreover, the user will be able to input the weight and influence from one to another Entity. Using these inputs, the ICAT will create a connected graph and determine the most influential Entity of the problem’s domain. In addition to creating a diagram of the problem’s domain, the ICAT will allow the user to print and export the diagram as PDF files. Also it will have the zoom and panning features which will help the user modify and zoom in the created graph. These features should give the user the flexibility to add or make any changes to the graph. ICAT will help the user in system engineering to have a clear and better understating of the problem. The visual representation of a problem’s domain will serve as a brainstorming tool for the system engineers. Therefore, the risk of type III errors will be reduced and will help to speed up the process of solving the problem. 2.1 Key Product Features In system engineering environments, modeling a problem domain is often considered an issue due to the minute pieces of Entities that are associated with that domain. Thus, ICAT is going to be equipped with many unique features that will make it simple to use and allow the user to have the flexibility of modeling a graph. For instance, visibility features will help the user eliminate the value of an Entity while still having it in the graph. With a Lab 1 – Interactive Context Analysis Tool 5 large number of Entities in a single graph, search and zoom features will help to examine details. The weight feature is another example of a unique characteristic that differentiates the ICAT from the rest of the graphing tools. This feature will allow the user to input the weight and the direction of the effect of force on each Entity. Then, an arrow will be drawn from the origin Entity, determined by the user, to the destination Entity. The weight of the force will reflect on the thickness of the arrow’s line. Therefore, even with many Entities and lines on a graph, the Entities with high values and weight will be more visible to the user. Finally, The ICAT has an analytical algorithms engine that will help to determine the influence, out-centrality, and prominence, in-centrality, of each Entity and export the results into PDF files. This will help the users of the system engineering to have a better understanding and bring all of the small details to the surface. Eventually, the process of defining the problem will be much clearer and the risk of type III errors will be reduced. 2.2 Major Components (Hardware/software) The design principle that the ICAT follows is known as the MVC or Model View Controller. This divides the software application into three distinct elements. The three main elements include: the Analytics Engine module, the Data Model, and the Controller. The Analytics Engine is the part that is responsible for the mathematical analysis of the ICAT. It has two types of algorithms, the first one is known as the ‘prominence’ and the second one is known as the ‘influence’. The prominence algorithms will calculate and Lab 1 – Interactive Context Analysis Tool 6 determine the number of Forces and the weight they put on the Entities. The influence algorithms will determine and calculate the weight of force that comes out of the Entities. Furthermore, the Analytics Engine will create the centrality reports. Figure 1: Major Functional Control Diagram (MFCD) for ICAT The data model is the structure of the graph and where all of the Entities and Forces information will be assigned. The Entities will be represented by a set of vertices and the Forces will be represented by a set of edges. The vertices will contain the location, type, and the visibility value of each Entity. On the other hand, the edges will contain the information of the origin and destination Entities as well as the weight of the force. The Controller is the part responsible for keeping and maintaining all the information among all of the software components (see Figure 1). It consists of a set of controllers that receive the commands from the Graphical Interface, where the user will interact with the ICAT, and send it to the either the Data Model or the Analytics Engine. Furthermore, it will keep the information consistent and updated on the Graphical Interface. Lab 1 – Interactive Context Analysis Tool The Controller will interact with File System to upload projects from the File System or save a project or data into the File System. The ICAT will be built based on a standalone desktop application. It can be installed on either a laptop or a desktop computer. The ICAT will not require any external hardware or software. (This space intentionally left blank.) 7 Lab 1 – Interactive Context Analysis Tool 8 3. Identification of Case Study ICAT is being designed for Dr. Patrick Hester. Dr. Hester is an associate professor in the Engineering Management and System Engineering Department at Old Dominion University. He often works in solving large and complex problems, which have high risk of Type III errors. Dr. Hester has expressed the desire for a tool that help him eliminate or reduce the Type III errors. (This space intentionally left blank.) Lab 1 – Interactive Context Analysis Tool 9 4. ICAT Product Prototype The prototype will focus on the two prime objectives of the ICAT modeling the domain problem and the analytical reports. Completing these two objectives will prove the feasibility of this product. A successful prototype will help the user in System Engineering to model a real a problem and create an analytics reports. The ICAT will have the potential to be expanded and have more features and capabilities. Thus, the ICAT will be built in a way that will allow other teams, in the future, to improve and add more capabilities. More analytics algorithms can be added to the ICAT to help the users in System Engineering expand their scope. 4.1 Prototype Architecture (Hardware/Software) The prototype hardware architecture is a single machine, a desktop or a laptop. The prototype version will have the MVC structure and the Analytics Engine, but with less features and capabilities. Unlike the real world version, a testing dashboard will be added to the software architecture of the prototype version. The testing dashboard is very critical to the product development. Testing the prototype will provide the developers with the necessary information for accurate results. In this phase of developing, testing will help to detect the errors in an earlier time and help to avoid them in the future. (This space intentionally left blank.) Lab 1 – Interactive Context Analysis Tool 10 Testing a prototype occasionally take more time. Therefore, a suite of multiple tests will be made to speed up the testing procedure. Figure 2 shows the ICAT prototype architecture component and the testing dashboard can be seen interacting with the File System. Figure 2: Major Functional Component Diagram (MFCD) for the ICAT prototype The Model View Controller components and the Analytic Engine will have the same responsibilities as the real world product. For instance, the Graphical Interface will have only the necessary commands to model a problem domain. Also, it will have the tools for the user to interact with the graph and the ability to edit the Entities and their values or remove them. The controller will help all of these components to communicate with each other. The Analytics Engine is another important aspect during the prototype phase. The accuracy and correctness of its generated reports are critical to the success of the ICAT. The Lab 1 – Interactive Context Analysis Tool 11 prototype version of the Analytics Engine will have two sets of algorithms. The tests on this engine will focus on the reliability of its mathematical algorithms. Primarily this will be on detecting any bugs or errors that might result in producing corrupted results. 4.2 Prototype Features and Capabilities As for testing and modeling purposes, the prototype will focus on the prime capabilities of the ICAT. The prototype will have only two prime capabilities. The first one will be modeling of the problem’s domain. The second one will be the ability to generate accurate analytical reports. Modeling a problem domain correctly is the first step in solving the problem. The user in System Engineering will use the ICAT Graphical Interface to create a visual representation of the problem. Despite the fact that this is a prototype version, the user will still be able to modify the graph as well as use the zoom, search, and panning features. The Analytics Engine will be responsible for creating the influence and prominence reports. These two reports are critical for solving the problem and having accurate results that will help solve any problems. The user will have the option of having and exporting these two reports as PDF files in order to share the reports with other users. 4.3 Prototype Development Challenges Bugs and errors are a challenge for any software developer. These are typical issues which happen in the software development process. Detecting these issues in their early stages will save the developers much time and give them good feedback that will lead to better solutions. Lab 1 – Interactive Context Analysis Tool The major functionality for the ICAT is the Graphical Interface. It is a significant challenge for the ICAT developer. The ICAT developers are not quite familiar with the graphic algorithms and its functions. These challenges can be overcome with huge enthusiasm and the desire among the team to build a unique tool to help solve complex problems. (This space intentionally left blank.) 12 Lab 1 – Interactive Context Analysis Tool 13 Glossary: Entity: Object within a data model; types include: problem, stakeholder, objective, attribute, and resource Force: Constraining or enabling Forces that show influence between Entities Attribute: An Entity that represents some quality that exhibits an effect on other 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 Project: The collection of metadata and associated diagram created by the user 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 Errors: 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 \ Lab 1 – Interactive Context Analysis Tool References: 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. 14