General Info.
Project HomepageProject Journal Source License Project Artifacts
Use CasesVision and Business Case Supplementary Spec. Risk List Mock-up Glossary Other
References and Related Work |
Version: Inception [05 Mar 2003]
An object-oriented program's run-time structure often
bears
little resemblance to its code structure. The code structure is frozen at
compile-time; it consists of classes in fixed inheritance relationships.
A program's run-time structure consists of rapidly changing networks of
communicating objects. In fact, the two structures are largely
independent. Trying to understand one from the other is like trying to
understand the dynamism of living ecosystems from the static taxonomy of
plants and animals, and vice versa."
Gamma, et al., Design Patterns "Escaping this flatland is the essential task of envisioning information-- for all the interesting worlds (physical, biological, imaginary, human) that we seek to understand are inevitably and happily multivariate in nature. Not flatlands." Edward R. Tufte, Envisioning Information Project Vision and Business CaseThis document gives the vision and business case for the Binah project. This page is divided into the following sections: IntroductionWe envision a tool that allows the visualization of the execution of multi-threaded Java programs to provide assistance with identifying and debugging concurrency problems. By analogy, the Binah is to traditional debuggers as an UML diagramming tool is to a source-code editor-- both are needed, but they are useful at different levels of abstraction. PositioningAlthough threads have become a de facto tool for exploiting parallelism in Java applications, there remains little debugging support for the concurrency problems that arise from their use. Unfortunately, Java debugging tools are generally insufficient to illuminate the run-time behavior of these multi-threaded applications. Often, developers and maintainers of such systems are forced to turn to massive trace logs of events or other custom instrumentation to record and understand the behavior of the application. We see this as an oppurtunity to provide a useful and needed tool to high-end system integrators and their clients, especially those using application servers that provide little or no run-time analysis tools. Stakeholder DescriptionsStakeholder (Non-User) SummaryThe primary non-user stakeholders of this system are the class participants, both students and instructors, of CS 362 at Iowa State. A secondary set of non-user stakeholders are the businesses that provide tools for, and thus rely on, the development of complex server applications, such as BEA Systems, the owner of the Weblogic application server, and IBM, the owner of WebSphere. Another secondary set of stakeholders are the companies that rely on large, complex server applications using Java as a primary aspect of their business. For example, Charles Schwab, a financial services company that uses a J2EE application to handle about 35,000 queries and transactions per hour. User SummaryThe user of the system is a Java developer or system maintainer who is responsible for the correct and efficient operation of a large, complex Java-based application. This person may or may not already be familiar with the general operation of the system, but they should be reasonably fluent with Object-Oriented techniques, Java programming and traditional debugging methods. Key High-level Goals and Problems of the Stakeholders
Key High-level User GoalsThe users need a system to fulfill these goals:
Product OverviewBinah provides a visulaization of the execution of a Java application. It uses the Java Debug Interface along with optional Java code instrumentation in the application to display the state of the running application and JVM in a scale-variable, three-dimensional manner using the Java 3D API. Summary of System FeaturesThe system provides:
Last modified Monday April 28, 2003. |
Copyright 2003.