Real-time systems engineers have, for some time, identified Java as an attractive programming language, but have been unable to exploit its benefits as it cannot provide the fundamental temporal predictability require...
详细信息
Real-time systems engineers have, for some time, identified Java as an attractive programming language, but have been unable to exploit its benefits as it cannot provide the fundamental temporal predictability required. However, this is all changing, as academic and industrial experts propose extensions to the Java environment. On the basis of this study, significant agreement has been found in how some of the critical areas of Java may be addressed for real-time, such as memory management and portability. However, areas such as scheduling and interprocess communication, have been contentious, even among expert opinion. This paper considers the current status of this exciting and emerging, soon to become, real-time programming language, with a focus on process control application. In addition, it will overview a preliminary performance assessment of the alleged real-time java virtual machine (JVM) from NewMonics Inc and compared upfront with the Sun JVM.
Statistical environments such as S, R, XLisp-Stat, and others have had a dramatic effect on the way we, statistics practitioners, think about data and statistical methodology. However, the possibilities and challenges...
详细信息
Statistical environments such as S, R, XLisp-Stat, and others have had a dramatic effect on the way we, statistics practitioners, think about data and statistical methodology. However, the possibilities and challenges introduced by recent technological developments and the general ways we use computing conflict with the computational model of these systems. This article explores some of these challenges and identifies the need to support easy integration of functionality from other domains, and to export statistical methodology to other audiences and applications, both statically and dynamically. Existing systems can be improved in these domains with some already implemented extensions (see Section 5). However, the development of a new environment and computational model that exploits modern tools designed to handle many general aspects of these challenges appears more promising as a long-term approach. We present the architecture for such a new model named Omegahat. It lends itself to entirely new statistical computing paradigms. It is highly extensible at both the user and programmer level, and also encourages the development of new environments for different user groups. The Omegahat interactive language offers a continuity between the different programming tasks and levels via optional type checking and seamless access between the interpreted user language and the implementation language, Java. Parallel and distributed computing, network and database access, interactive graphics, and many other aspects of statistical computing are directly accessible to the user as a consequence of this seamless access. We describe the benefits of using Java as the implementation language for the environment and several innovative features of the user-level language which promise to assist development of software that can be used in many contexts. We also outline how this architecture can be integrated with existing environments such as R and S. The ideas are drawn from work wit
We present a constraint system, OF, of feature trees that is appropriate to specify and implement type inference for first-class messages. OF extends traditional systems of feature constraints by a selection constrain...
详细信息
We present a constraint system, OF, of feature trees that is appropriate to specify and implement type inference for first-class messages. OF extends traditional systems of feature constraints by a selection constraint x z, "by first-class feature tree" y, which is in contrast to the standard selection constraint x[f]y, "by fixed feature" f. We investigate the satisfiability problem of OF and show that it can be solved in polynomial time, and even in quadratic time if the number of features is bounded. We compare OF with Treinen's system EF of feature constraints with first-class features, which has an NP-complete satisfiability problem. This comparison yields that the satisfiability problem for OF with negation is NP-hard. Further we obtain NP-completeness, for a specific subclass of OF with negation that is useful for a related type inference problem. Based on OF we give a simple account of type inference for first-class messages in the spirit of Nishimura's recent proposal, and we show that it has polynomial time complexity: We also highlight an immediate extension of this type system that appears to be desirable but makes type inference NP-complete.
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.
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.
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.
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.
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.
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...
详细信息
暂无评论