Running Head: Lab 1 – ICAT Description 1 Lab 1 – ICAT Description Team Red Chris Dashiell CS411W Janet Brunelle and Gene Price April 27, 2014 Version 3 Lab 1 – ICAT Description 2 Table of Contents 1. INTRODUCTION .................................................................................................................................. 3 2. ICAT PRODUCT DESCRIPTION ....................................................................................................... 5 2.1 Key Product Features and Capabilities .............................................................................................. 5 2.2 Major Components (Hardware/Software) ........................................................................................ 6 3. IDENTIFICATION OF CASE STUDY................................................................................................ 9 4. ICAT PRODUCT PROTOTYPE DESCRIPTION ........................................................................... 10 4.1 Prototype Architecture (Hardware/Software) ................................................................................ 10 4.2 Prototype Features and Capabilities ............................................................................................... 11 4.3 Prototype Development Challenges .......................................................................................... 11 GLOSSARY .............................................................................................................................................. 12 REFERENCES.......................................................................................................................................... 14 List of Figures Figure 1: Major Functional Component Diagram (MFCD) For ICAT ......................................................... 7 Figure 2: Data Model .................................................................................................................................... 7 Figure 3: Centrality Algorithms .................................................................................................................... 8 Figure 4: Major Functional Control Diagram (MFCD) For The ICAT Prototype...................................... 10 Lab 1 – ICAT Description 3 1. INTRODUCTION Every organization has successes and failures to the problems it tries to solve. Often, a solution is provided, but it turns out that the organization solved the wrong problem because it is more complex than originally thought. This is considered to be a Type III error. While originally defined in the field of statistics, by Mitroff and Featheringham, as “the error ... of having solved the wrong problem ... when one should have solved the right problem,” it has since been used in other applications. Committing a Type III error can cause a significant amount of damage, because the true problem has not been solved and a significant amount of time and/or resources might have been wasted. Type III errors have been a contributor to more than 80% of project failures within organizations (Yadav & Korukonda,1985). 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.” It is common for organizations to do the exact opposite, spending the majority of the time working on a solution to a problem and little time on defining the problem. Systems engineering is a field that focuses on analyzing large projects in order to ensure they will be successful. Problem domain analysis is one of the tools used within systems engineering and can help organizations prevent Type III error. One reason problem domain analysis is only done on very large projects is that it can be a complex and time consuming process. This process can be shortened and simplified with the right software tools. Interactive Context Analysis Tool (ICAT) is a software tool intended to be used by systems engineers for problem domain analysis. With ICAT, a system engineer can create a visual model of a problem domain. The engineer can then use algorithms provided by ICAT for analysis to gain a greater understanding of the problem’s characteristics. It is possible to change Lab 1 – ICAT Description 4 aspects of the model in order to see how the problem domain is affected. This visual tool can quicken the process and help eliminate some of the complexities of problem domain analysis which will reduce the risk of type III error. (This space left intentionally blank.) Lab 1 – ICAT Description 5 2. ICAT PRODUCT DESCRIPTION ICAT is a software tool to be used by organizations for problem domain analysis. Systems engineers can use ICAT to create a visual model that shows the relationships between Entities within the problem domain. Entities are objects that have an effect on other Entities and can be affected by other Entities such as laws, companies, personnel, or resources. After creating a model, ICAT can be used to run a set of analytics to provide a better understanding of the problem domain. Using these analytics, systems engineers can explore the impact of changing relationships in the problem domain. The goal of ICAT is to reduce the risk of type III errors by reducing the complexity and the amount of time spent on problem domain analysis. It is a tool that is intended to be used as an aid for system engineers and not as a replacement for them. It is possible to use already existing, but general purpose, diagramming applications to create a visual model but they do not provide the analytical algorithms that ICAT will need to provide. Also, because ICAT is a domain specific program created for problem domain analysis, the interface is more powerful and easier to use than other diagramming applications. 2.1 Key Product Features and Capabilities Using ICAT, an engineer can create a visual model by using a set of diagramming tools that can be used to create Entities. Entities are represented on the diagram with a shape that is determined by what type of Entity it is. The user can then connect Entities to each other using Forces, which are represented by directional lines connecting the two Entities together. A Force represents how much influence one Entity has on another Entity. The larger the influence of the Force, the thicker the line representing that Force will be on the diagram. Lab 1 – ICAT Description 6 The key feature that differentiates ICAT from normal charting or diagramming software is the implementation of specific analytical algorithms. Two algorithms that can be used in ICAT are the influence and prominence algorithms. Influence, also known as out-degree centrality, is a measure of the affect one Entity has on all other Entities in the model. Prominence, also known as in-degree centrality, is a measure of the affect that other Entities have on one specific Entity. These are calculated using the user defined weights of the Forces in the model. Using these analytics, systems engineers can explore the impact of changing relationships within the model. They can do this by adding, deleting, or modifying both Entities and Forces and then running the analytics again to see how the result has changed. 2.2 Major Components (Hardware/Software) ICAT is a Java desktop application which can be run on Windows, Linux, and the Mac operating systems and requires no connection to the internet. It is broken into four major functional components. As illustrated in Figure 1, these four components are a graphical interface, a data model, a controller, and an analytics engine. The user only interacts with the graphical interface. Lab 1 – ICAT Description 7 Figure 1: Major Functional Component Diagram (MFCD) For ICAT The data model defines how all data for an ICAT Project is stored. The data model consists of three data structures, as illustrated in Figure 2. The underlying structure of the ICAT data model can be represented as a weighted directed graph structure with a set of vertices and a set of edges. Each vertex will represent an Entity and each edge will represent a Force. All Entities will have a name, a type, and a description. A location for where the Entity is on the diagram will also be stored. A Force will have a weight along with a reference to an origin Entity and a destination Entity. A Project consists of any number of Entities and Forces, as well as metadata such as the name and a description. Figure 2: Data Model (This space left intentionally blank.) Lab 1 – ICAT Description 8 The graphical interface handles all of the interaction with the user. It also will display the diagram to the user. Using tools provided in the graphical interface, the user will be able to add, delete, and modify both Entities and Forces. The diagram will be updated in real time as the user makes changes to it. The user will also be able to zoom in or out on the diagram and pan the view. The graphical interface will also provide a method of generating analytical reports. Finally, it will provide the interface by which the user will save and load projects. The controller handles the modification of information in the data model. When a user adds a new Entity using the GUI, it is the controller that provides this service. The controller also interfaces with the analytics engine by providing the engine with the Entity and Force data needed to create a report. The controller saves and loads projects to the file system. The final component of ICAT is the analytics engine. It consists of the implementation of the algorithms needed to generate reports, which are requested by the user in the graphical interface. Two of the algorithms it implements are influence and prominence, as seen in Figure 3. For influence, the analytics engine generates a report that lists the total influence of each Entity. The total influence of an Entity is the sum of the weights of all the Forces that Entity has on other Entities. Prominence of an Entity is similar to influence but is the sum of the Forces other Entities have on it. Figure 3: Centrality Algorithms Lab 1 – ICAT Description 9 3. IDENTIFICATION OF CASE STUDY ICAT is being developed at the request of Dr. Patrick Hester. He is an associate professor in the Engineering Management and System Engineering Department at Old Dominion University. In the course of his research on Systems of Systems Engineering he has identified a need of a better method of doing problem domain analysis. He has requested that an application be made that can help him visually model the problem domain and analyze it through the use of the prominence and influence algorithms. This is in an effort to lower the chance of type III errors and speed up the total process. (This space left intentionally blank.) Lab 1 – ICAT Description 10 4. ICAT PRODUCT PROTOTYPE DESCRIPTION The ICAT prototype architecture and features will be focused on providing a graphical interface that can be used to create model of the problem domain. This includes creating a suitable data structure for both the visual view of the model and the analytics engine. Only after there is a sufficient capability to create a model can the analytical algorithms start to be implemented. Saving and loading files will also be a requirement for the prototype. 4.1 Prototype Architecture (Hardware/Software) The major functional components of the ICAT prototype are essentially identical to the real world product. A testing dashboard, as seen in Figure 3, has been added to the prototype that is used to ensure the implementation is correct. It will be used throughout the development process of the prototype but will not be present in the real world product. Like the real world product, the prototype is a desktop and laptop application only. Figure 4: Major Functional Control Diagram (MFCD) For The ICAT Prototype Lab 1 – ICAT Description 11 4.2 Prototype Features and Capabilities When ICAT is first opened, the user will be presented with the dashboard window. From the dashboard, the user can view a list of recent projects that have been saved along with an accompanying thumbnail of the model of the project. It is also possible to search by name for a specific project and start a new project from this screen. Once a project is loaded, or a new project is created, the workspace window is presented to the user. The workspace window contains a diagram with an interactive display of the problem domain. The user can then add new Entities and Forces to the canvas. By selecting an Entity or Force that already exists on the diagram, it is possible to modify the data associated with them. It is possible to give each Entity a name that is both displayed on the diagram and also can be used in a search box. Because a problem domain can have a large number of Entities and Forces, it is possible to zoom in or out of the diagram as well as pan the view. After the model of the problem domain is complete, a user can use the analytical algorithms to generate a report. From the workspace, it is possible to save the project as a XML file. The user can also print the diagram and save it as an image. 4.3 Prototype Development Challenges There are a few challenges that will be faced in the development of the ICAT prototype. Creating a user interface that allows the user to, quickly and correctly, model the problem domain will be difficult. The hardest part is making the diagram legible even when there are a large number of Entities and Forces on the screen. Performance also needs to be taken into account for both rendering the diagram and in generating reports of the analytics engine. Lab 1 – ICAT Description 12 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 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 Error – the type of error described as “giving the right answer to the wrong problem” (Kimball, 1957) Lab 1 – ICAT Description 13 Workspace – the area within ICAT in which the user edits or views the project (This space left intentionally blank.) Lab 1 – ICAT Description 14 REFERENCES Kimball, A. (1957). Errors of the third kind in statistical consulting. Journal of the American Statistical Association, 52(278), 133–142. Robert Bea, Ian Mitroff, Daniel Farber, Howard Foster, Karlene Roberts. "A new approach to risk: The implications of E3." Risk Management 11.1 (2009): 30-43. http://ccrm.berkeley.edu/resin/pdfs_and_other_docs/bea_etal_RiskManagementArticlefin al.pdf. 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