The issues of managing distributed applications are discussed, and a set of tools, the meta system, that solves some longstanding problems is presented. The Meta model of a distributed application is described. To mak...
详细信息
The issues of managing distributed applications are discussed, and a set of tools, the meta system, that solves some longstanding problems is presented. The Meta model of a distributed application is described. To make the discussion concrete, it is shown how NuMon, a seismological analysis system for monitoring compliance with nuclear test-ban treaties is managed within the Meta framework. The three steps entailed in using Meta are described. First the programmer instruments the application and its environment with sensors and actuators. The programmer then describes the application structure using the object-oriented data modeling facilities of the authors' high-level control language, Lomita. Finally, the programmer writes a control program referencing the data model. Meta's performance and real-time behavior are examined
We have developed and implemented a computer-based method to generate and enumerate all conjugate forms of acyclic organic compounds. These algorithms are used in a new approach for the estimation of thermodynamic and...
详细信息
We have developed and implemented a computer-based method to generate and enumerate all conjugate forms of acyclic organic compounds. These algorithms are used in a new approach for the estimation of thermodynamic and physical properties of acyclic organic compounds from their molecular structure. The approach is based on the contributions of Atoms and Bonds in the properties of Conjugate forms (ABC) of a compound and has produced more accurate results than group-contribution methods. Generating all conjugate forms of the molecule whose properties we wish to estimate is necessary in the application of this technique. The use of symbolic computing environments allows the flexible representation and manipulation of molecular structures. Atoms, bonds, molecules, and other entities are represented as interconnected objects. The generation, comparison, and analysis of conjugates are carried out through computer-based manipulation of the objects and their interconnections.
This article describes the experience and results obtained teaching non-common lava features, in advanced undergraduate object-oriented programming courses. The teaching approach proposed helps students to reach a dee...
详细信息
This article describes the experience and results obtained teaching non-common lava features, in advanced undergraduate object-oriented programming courses. The teaching approach proposed helps students to reach a deeper level of programming expertise, while accomplishing specific assignments that integrate a class framework that supports implementation of medium size client-server applications. (C)2008 Wiley Periodicals. Inc. Comput Appl Eng Educ 16: 305-314, 2008: Published online in Wiley InterScience (***): DOI 10.1002/cae.20127
A new software system called PHENIX (Python-based Hierarchical ENvironment for Integrated Xtallography) is being developed for the automation of crystallographic structure solution. This will provide the necessary alg...
详细信息
A new software system called PHENIX (Python-based Hierarchical ENvironment for Integrated Xtallography) is being developed for the automation of crystallographic structure solution. This will provide the necessary algorithms to proceed from reduced intensity data to a refined molecular model, and facilitate structure solution for both the novice and expert crystallographer. Here we review the features of PHENIX and briefly describe the recent advances in infrastructure and algorithms.
Today, there's significant interest in functional languages and frameworks that fit the Web better than imperative languages. We explore Scala, an OO-functional language on the Java virtual machine, and Lift, a fr...
详细信息
Today, there's significant interest in functional languages and frameworks that fit the Web better than imperative languages. We explore Scala, an OO-functional language on the Java virtual machine, and Lift, a framework implemented on Scala's functional features. The Scala language offers functional programming features and asynchronous message-passing concurrency alongside a statically typed model. Lift exploits this model to offer secure, higher-level abstractions to Web developers.
Due to Java's object-based nature and support for garbage collection, efficient object manipulation and relocation are critical to the execution speed of Java code. Java Virtual Machine implementations that utilis...
详细信息
Due to Java's object-based nature and support for garbage collection, efficient object manipulation and relocation are critical to the execution speed of Java code. Java Virtual Machine implementations that utilise handle representation such as Sun's Java Development Kit 1.1 enable efficient object relocation at the cost of an additional indirection for each object access. The direct address object representations such as those used in CACAO and NET compiler eliminate the indirection overhead, but update during object relocation is complex. A virtual address object cache that reduces the indirection overhead while maintaining the efficiency of object relocation is proposed. The objects in the virtual address cache are addressed directly using the object reference and field offset pair. This eliminates the indirection overhead and off-set addition overhead associated with the handle representation model. A hardware object table that maintains the handles is used to obtain the actual object location on a virtual address cache miss. The performance of the virtual address cache is analysed using various Java programs, and is found to reduce 1.5 cycles per object access on an average as compared to the handle representation model for the various benchmarks studied.
Design by contract (DbC) is a software development methodology that focuses on clearly defining the interfaces between components to produce better quality object-oriented software. Though there exists ample support f...
详细信息
Design by contract (DbC) is a software development methodology that focuses on clearly defining the interfaces between components to produce better quality object-oriented software. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. Using Java as the target programming language, we tackle such challenges by augmenting the Java Modelling Language (JML) and modifying the JML compiler (jmlc) to generate runtime assertion checking code to support DbC in concurrent programs. We applied our solution in a carefully designed case study on a highly concurrent industrial software system from the telecommunications domain to assess the effectiveness of contracts as test oracles in detecting and diagnosing functional faults in concurrent software. Based on these results, clear and objective requirements are defined for contracts to be effective test oracles for concurrent programs whilst balancing the effort to design them. Effort is measured indirectly through the contract complexity measure (CCM), a measure we define. Main results include that contracts of a realistic level of completeness and complexity can detect around 76 percent of faults and reduce the diagnosis effort for such faults tenfold. We, therefore, show that DbC can be applied to concurrent software and can be a valuable tool to improve the economics of software engineering.
This paper shows and discusses a generic implementation of the global-local analysis toward generalized finite element method (GFEM(gl)). This implementation, performed into an academic computational platform, follows...
详细信息
This paper shows and discusses a generic implementation of the global-local analysis toward generalized finite element method (GFEM(gl)). This implementation, performed into an academic computational platform, follows the object-oriented approach presented by the authors in a previous work for the standard version of GFEM in which the shape functions of finite elements are hierarchically enriched by analytical functions, according to the problem behavior. In global-local GFEM, however, the enrichment functions are constructed numerically from the solution of a local problem. This strategy allows the use of a coarse mesh even when the problem produces complex stress distributions. On the other hand, a local problem is defined where the stress field presents high gradients and it is discretized using a large number of elements. The results of the local problem are used to enrich the global problem which improves the approximate solution. The great advantage is allowing a well-refined description of the local problem, when necessary, avoiding an overburden for the computation of the global solution. Details of the implementation are presented and important aspects of using this strategy are highlighted in the numerical examples.
In this paper we present the Kropman ICAD project, the development of a computer aided design system. Up to the present the use of the computer in the engineering phase of building services design is limited to automi...
详细信息
In this paper we present the Kropman ICAD project, the development of a computer aided design system. Up to the present the use of the computer in the engineering phase of building services design is limited to automized drawing, assisted by a number of stand-alone applications. The future CAD system must be able to support the entire engineering process. This can be achieved by providing the CAD system with an amount of knowledge, which implies an intelligent CAD system. By means of a hierarchical, functional structuring of the installation, based on a metamodel, it is possible to consider the entire system from different views. The base of the ICAD concept is an object-oriented specification language, developed by Kropman B.V. With this language the model can be described and processed until it meets the functional specifications. object-oriented programming (OOP) is a new programming concept rapidly entering mainstream software development. The combination of artificial intelligence and OOP is being heralded as the technology that will lead to computer integrated manufacturing, which could improve competitiveness.
This paper presents a mechanism for automatically generating new classes from classes existing in a library by using their modification histories. To generate classes that are likely to meet programmer's requireme...
详细信息
This paper presents a mechanism for automatically generating new classes from classes existing in a library by using their modification histories. To generate classes that are likely to meet programmer's requirements and that are consistent with the existing classes, we propose three actors, a Specifier, a Finder, and an Integrator. The Specifier records the history of modifications between methods with the same interface of a parent class and its heir. If the required method is not defined in the existing class which a programmer is referring to, the Finder retrieves classes similar to the referenced class and the Integrator applies the past modifications of similar classes to the referenced class. Classes are determined to be similar based on their positions in a class hierarchy tree. Both the Specifier and Integrator are achieved by using a method integration algorithm based on object-oriented bounded program slicing and class dependence graph matching. This mechanism enables programmers to reuse classes with little or no modification and, thus, easily create object-oriented programs.
暂无评论