Fundamentals of OOP and Data Structures in Java is a text for an introductory course on classical data structures. Part One of the book presents the basic principles of object-oriented programming (OOP) and Graphical ...
详细信息
ISBN:
(纸本)9780521662208
Fundamentals of OOP and Data Structures in Java is a text for an introductory course on classical data structures. Part One of the book presents the basic principles of object-oriented programming (OOP) and Graphical User Interface (GUI) programming with Java as the example language. Part Two introduces each of the major data structures with supporting, GUI-based laboratory programs designed to reinforce the basic concepts and principles of the text. These laboratories allow the reader to explore and experiment with the properties of each data structure. All source code for the laboratories is available on the web. By integrating the principles of OOP and GUI programming, this book takes the unique path of presenting the fundamental issues of data structures within the context of paradigms that are essential to today's professional software developer. The authors assume the reader has only an elementary understanding of Java and no experience with OOP.
Specific object-oriented software design concepts are elaborated for a novel implementation of a class of adjoint optimization problems typical of the infinite-dimensional design and control of continuum systems. For ...
详细信息
Specific object-oriented software design concepts are elaborated for a novel implementation of a class of adjoint optimization problems typical of the infinite-dimensional design and control of continuum systems. For clarity, the design steps and ideas are elucidated using an inverse natural convection design problem. Effective application of software design concepts such as inheritance, data encapsulation, information hiding, etc., is demonstrated through instances from the example considered. Two test numerical examples are considered and the CPU statistics for one of these problems are compared with those corresponding to a procedural implementation of the same problem. The numerical examples include a three-dimensional inverse design problem that demonstrates the effectiveness of the present object-oriented approach in developing dimension-independent robust design codes. Copyright (C) 2000 John Wiley & Sons, Ltd.
Statistical software provides essential support for statisticians and others who are analyzing data or doing research on new statistical techniques. Those supported typically regard themselves as "users" of ...
详细信息
Statistical software provides essential support for statisticians and others who are analyzing data or doing research on new statistical techniques. Those supported typically regard themselves as "users" of the software, but as soon as they need to express their own ideas computationally, they in fact become "programmers." Nothing is more important for the success of statistical software than enabling this transition from user to programmer, and on to gradually more ambitious software design. What does the user need? How can the design of statistical software help? This article presents a number of suggestions based on past experience and current research. The evolution of the S system reflects some of these opinions. Work on the Omegahat software provides a promising direction for future systems that reflect similar motivations.
Jcon is a new, full-featured, Java-based implementation of the Icon programming language, The compiler, written in Icon, generates an intermediate representation that is optimized and then used to produce classfiles o...
详细信息
Jcon is a new, full-featured, Java-based implementation of the Icon programming language, The compiler, written in Icon, generates an intermediate representation that is optimized and then used to produce classfiles of Java bytecode, A four-chunk control-flow model handles goal-directed evaluation and produces constructs not expressible as Java code. The runtime system, written in Java, finds object-oriented programming a great advantage in implementing a dynamically typed language, with method calls replacing many conditional tests. An all-encompassing descriptor class supports values, references, and suspended operations. The procedure call interface is simple and incurs overhead for generator support only when actually needed. Performance is somewhat disappointing, and some limitations are annoying, but in general Java provides a good implementation platform. Copyright (C) 2000 John Wiley & Sons, Ltd.
Complex graphical user interfaces (GUIs) that support a large amount of user interaction require a fast response time, a rich set of building blocks for an esthetic look-and-feel, and a development environment that su...
详细信息
Complex graphical user interfaces (GUIs) that support a large amount of user interaction require a fast response time, a rich set of building blocks for an esthetic look-and-feel, and a development environment that supports ongoing change. On the World Wide Web, client-side technologies offer more of these features than do server-side solutions. Java and JavaScript are the two most popular languages used for client-side GUI implementations. Java implementations require a user to download a plug-in that contains a virtual machine to execute the Java byte-code. The installation and maintenance of this plug-in is sometimes an unsurmountable barrier to using Java. JavaScript lacks some of the desirable features of Java, such as easy to use object-oriented features and having a GUI class Library, but does not require a plug-in, We have enhanced JavaScript by implementing a new language object-JavaScript (OJS) and by providing an OJS library of GUI components, thus making it a viable alternative to Java. Copyright (C) 2000 John Wiley & Sons, Ltd.
We describe the design and implementation of a workbench for molecular biology that allows the easy integration of analysis tools. The software is implemented in Tcl/Tk using the [incr Tcl] extension that provides obj...
详细信息
We describe the design and implementation of a workbench for molecular biology that allows the easy integration of analysis tools. The software is implemented in Tcl/Tk using the [incr Tcl] extension that provides object-oriented programming. The program is called tkGDE and consists of four main parts. The sequence editor allows the user to perform basic editing operations on biomolecule sequences, The graphical annotation editor gives the user a graphical overview of all annotated features of a sequence. The output manager retains information on the results produced by the analysis tools, The bundle control allows several tools to run automatically, passing data from one tool to the next, Tools are integrated into the system by describing their properties in a configuration file, which drastically reduces the time needed for integration. We present results proving that Tcl/Tk has been misjudged to be slow and unsuited for large projects, To achieve sufficient performance we exploited special features of Tcl/Tk, namely idle tasks and the capabilities built into the Tk canvas widget. The system consists of more than 34 000 lines of [incr Tcl] code in 182 classes. The whole development process took about one person-year. Copyright (C) 2000 John Wiley & Sons, Ltd.
Determining the potential targets of virtual method invocations is essential for inter-procedural optimizations of object-oriented programs. It is generally hard to determine such targets accurately. The problem is es...
详细信息
ISBN:
(纸本)9781581132007
Determining the potential targets of virtual method invocations is essential for inter-procedural optimizations of object-oriented programs. It is generally hard to determine such targets accurately. The problem is especially difficult for dynamic languages such as Java, because additional targets of virtual calls may appear at runtime. Current mechanisms that enable inter-procedural optimizations for dynamic languages, repeatedly validate the optimizations at runtime. This paper addresses this predicament by proposing a novel technique for conservative devirtualization analysis, which applies to a significant number of virtual calls in Java programs. Unlike previous work, our technique requires neither whole program analysis nor runtime information, and incurs no runtime overhead. Our solution is very efficient to compute and is based on a newly introduced, seemingly unrelated security feature of Java file archives. On average, our analysis "seals" (safely devirtualizes) about 39% of the virtual calls (to non-final methods) that appear in SPECjvm98 programs, and about 29% of the calls invoked while executing these programs. In the runtime library ***, about 10% of the packages contain a significant percentage (20--60%) of sealed calls, with a total average of about 8.5%. Most of these calls are also shown to be monomorphic, a fact which can be safely exploited by aggressive inter-procedural optimizations such as direct inlining. These results indicate that our technique has a strong potential for enhancing the analysis and optimization of Java programs.
This paper proposes an approach to object-oriented framework description. Frameworks are described using concern-specific design patterns and their composition. The frameworks understandability is achieved by the sepa...
详细信息
Constraint satisfaction programming (CSP) is a powerful paradigm for solving complex combinatorial problems, which has gained a lot of attention recently. Putting the power of constraint satisfaction into the hands of...
详细信息
Virtual reality(VR) features an impressive virtual world which operates like a real one. However, convenient tools for the Va contruction work are not available yet, although there are tools like OpenInventor and Worl...
详细信息
ISBN:
(纸本)0780342534
Virtual reality(VR) features an impressive virtual world which operates like a real one. However, convenient tools for the Va contruction work are not available yet, although there are tools like OpenInventor and WorldToolKit(WTK) which relieve programmers of some low level and hardware related jobs. One of the key problems under heat discussion is to find a uniform and well organized structure for the program layout, so that a better sharing of VR resources may be achieved. In this paper, we discuss some basic tasks in constructing a virtual world and suggest message-driven object-oriented programming as a possible solution to problems concerning network VR and multiworld VR Experiment programs developed with this technique operate satisfactorily, showing the promising future of a new virtual reality constructing tool.
暂无评论