object-oriented (OO) systems development theory has rapidly evolved. Generally, there is a concern about the current inconsistent state of OO theory. There is a lack of a shared understanding of the basic concepts and...
详细信息
object-oriented (OO) systems development theory has rapidly evolved. Generally, there is a concern about the current inconsistent state of OO theory. There is a lack of a shared understanding of the basic concepts and of a common vocabulary for discussing them. Although recent efforts have contributed to organizing OO concepts, a complete model of OO based on the areas of analysis, design and programming is still lacking. This study develops and applies an approach to build such a definition of OO concepts using metamodeling. Metamodels of existing OO methodologies were created and then integrated into a single metamodel that defines OO concepts and their relationships. A number of useful applications of this OO metamodel are proposed, including in methodology development and selection. The main contribution of this approach is its focus on bridging the gap that exists between the OO analysis and design area and the area of OO programming. (C) 1999 Published by Elsevier Science Ltd. All rights reserved.
In the mid 1980s, the UK Science and Engineering Research Council funded a number of projects to develop computer-aided control system design (CACSD) environments. The flagship project was ECSTASY (Environment for Con...
详细信息
In the mid 1980s, the UK Science and Engineering Research Council funded a number of projects to develop computer-aided control system design (CACSD) environments. The flagship project was ECSTASY (Environment for Control System Theory and SYnthesis), a database-mediated framework for hosting a number of popular control systems design tools. As the ECSTASY project neared its completion, some of the most urgently requested features appeared in rival commercial packages, and the short-falls in tool provision that ECSTASY was designed to address apparently went away. Using as a benchmark the capabilities of the current generation of the popular CACSD package MATLAB, the prescience of the original ECSTASY proposal will be demonstrated. A couple of areas that the environment excelled in, the use of a common information model and common user interface, will be discussed in the context of recent work done in the University of Wales and elsewhere. Finally, two topics of particular interest to the authors, the proposed standard reference model for computer-aided control engineering and an object-oriented Unified Infonnation Model for CACSD will be revisited in the light of recent developments in internet computing.
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.
The text deals with the developement of an integrated object-oriented network - and modal split-model. The subtasks are a multimode network model, alternative paths within traffic networks, a multi-paths-algorithm, th...
详细信息
The text deals with the developement of an integrated object-oriented network - and modal split-model. The subtasks are a multimode network model, alternative paths within traffic networks, a multi-paths-algorithm, the combination of the defined subtasks within an integrated modal-split-model and the implementation of the developed model and algorithms. The subtasks, problems and solutions are shortly described.
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.
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.
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...
详细信息
暂无评论