The research described in this article reports the results of a study designed to evaluate the relationship among object-oriented (OO) computer programming task performance and a student's (1) theoretical value be...
详细信息
The research described in this article reports the results of a study designed to evaluate the relationship among object-oriented (OO) computer programming task performance and a student's (1) theoretical value belief, (2) cognitive ability, and (3) personality. The results of this study do not support the assertion that cognitive ability is a main determinant of performance. Rather, the findings suggest that characteristics of an individual nature have more effect on a student's performance. This supports our belief advanced herein that theoretical value belief and personality are significant predictors of computer programming performance in OO environments. From the findings of this study, we assert that academicians who must teach OO computer programming consider these factors when developing course materials or student assistance programs.
Several testing approaches focus on finding faults in software units of implementation. A problem not addressed by unit testing is the interaction among units, with respect to the correctness of their interfaces. In t...
详细信息
Several testing approaches focus on finding faults in software units of implementation. A problem not addressed by unit testing is the interaction among units, with respect to the correctness of their interfaces. In this paper a structural integration testing approach for object-oriented (00) and Aspect-oriented (AO) Java programs is presented. To make the activity more feasible, we address the testing of pairs of units (i.e., methods and pieces of advice). A model called PWDU (PairWise Def-Use) graph to represent the flow of control and data between pairs of units is proposed. Based on the PWDU, the following family of testing criteria is defined: all-pairwise-integrated-nodes (control-flow based), all-pairwise-integrated-edges (control-flow based), and all-pairwise-integrated-uses (data-flow based). To evaluate the proposed approach, an implementation of the criteria in a testing tool is presented along with an example of usage and an exploratory study. The study with 7 AO programs that are also 00 was conducted to investigate the cost of application and usefulness of the approach. Results provided evidence that the criteria are practical and useful for integration testing of 00 and AO programs. (C) 2009 Elsevier B.V. All rights reserved.
Domain-specific aspect languages (DSALs) bring the well-known advantages of domain specificity to the level of aspect code. However, DSALs incur the significant cost of implementing or extending a language processor o...
详细信息
Domain-specific aspect languages (DSALs) bring the well-known advantages of domain specificity to the level of aspect code. However, DSALs incur the significant cost of implementing or extending a language processor or weaver. Furthermore, this weaver typically operates blindly, making detection of interactions with aspects written in other languages impossible. This raises the necessity of an appropriate infrastructure for DSALs. The case study we present here illustrates how the Reflex kernel for multi-language AOP addresses these issues, by considering the implementation of a DSAL for advanced transaction management, KALA. We first detail the implementation of KALA in Reflex, called ReLAx, illustrating the ease of implementation of runtime semantics, syntax, and language translation. We then show a straightforward and modular extension to KALA at all these levels, and demonstrate how Reflex helps in dealing with interactions between KALA and another DSAL for concurrency management. These invaluable assets enable faster development of DSALs as well as their ability to coexist within one application, thereby removing the most important impediments to their re-emergence in the aspect community.
Purpose - The purpose of this paper is to develop a computer aided decision-making model for flexible manufacturing system (FMS) situations when multiple conflicting objectives are addressed by the management. Design/...
详细信息
Purpose - The purpose of this paper is to develop a computer aided decision-making model for flexible manufacturing system (FMS) situations when multiple conflicting objectives are addressed by the management. Design/methodology/approach - It is assumed that the problem is the managerial level schedule rather than the operational schedule. As a tool, goal programming has been employed for measuring the trade-offs among the objectives. As a safeguard, the level of the reliability of the constraints associated with the random coefficients is taken into consideration. As an optimization technique, the approach of chance constrained programming which has been an operational way for introducing probabilistic constraints into the collection of the linear programming and goal programming problem constraints is stated and mathematically formulated. Findings - The approach of chance constrained programming is suitable to introduce management concerns about the reliability of the constraints of the problem in the FMS. Originality/value - The paper gives an overview of the FMS and proposes a goal programming model for the analysis of problem. The proposed model acknowledges the randomness of customer demands for better standardization of production planning and inventory management systems. By the fact that customer demands are not always deterministic the hypothesis that sale level for each period is normally distributed is imposed. A sample example problem is provided to show how the proposed model can work.
Deployment has emerged as a major challenge in distributed real-time and embedded (DRE) systems. Application deployment planners must integrate numerous functional and non-functional constraints, such as security and ...
详细信息
Deployment has emerged as a major challenge in distributed real-time and embedded (DRE) systems. Application deployment planners must integrate numerous functional and non-functional constraints, such as security and performance, to produce correct deployment plans. The numerous deployment constraints and their complex interactions make manually deducing correct/efficient deployments hard. Four contributions to the study of automated deployment processes are presented. First, it shows that a deployment planner and an aspect weaver accomplish the same abstract problem - that is, mapping items from a source set (advice or components) to items in a target set (joinpoints or nodes) according to a set of rules - and uses this abstract definition of deployment planning to automate it with an aspect weaver. Second, this paper describes how the ScatterML domain-specific aspect language incorporates complex global constraints for specifying deployment pointcuts. Third, we show how static aspect weaving problems can be reduced to a constraint satisfaction problem and a constraint solver used to deduce a correct weaving. Fourth, we show that phrasing weaving as a constraint satisfaction problem and automating deployment through a constraint solver-based weaver yields several key benefits, ranging from guaranteed deployment plan correctness to bounds on worst-case solution quality.
Legacy systems often contain several crosscutting concerns that could potentially benefit from an aspect-orientedprogramming implementation. In this paper, we focus on the problem of aspect identification in existing...
详细信息
Legacy systems often contain several crosscutting concerns that could potentially benefit from an aspect-orientedprogramming implementation. In this paper, we focus on the problem of aspect identification in existing code. The main idea is that use-cases can be defined in order to separate the base logics from the crosscutting concerns to be aspectised. The relationship between the execution traces associated with the use-cases and the executed computational units (class methods) is analysed through concept analysis. The results obtained on some case studies are discussed in the paper.
With increasing use of component-based development (CBD), the process for selecting software from repositories is a critical concern for quality systems development. As support for developers blending in-house and thi...
详细信息
With increasing use of component-based development (CBD), the process for selecting software from repositories is a critical concern for quality systems development. As support for developers blending in-house and third party software, the context-driven component evaluation (CdCE) process provides a three-phase approach to software selection: filtering to a short list, functional evaluation and ranking. The process was developed through iterative experimentation on real-world data. CdCE has tool support to generate classifier models, shortlists and test cases as artefacts that provide for a repeatable, transparent process that can be reused as the system evolves. Although developed for software component selection, the CdCE process framework can be easily modified for other selection tasks by substituting templates, tools, evaluation criteria and/or repositories. In this article the authors describe the CdCE process and its development, the CdCE framework as a reusable pattern for software selection and provide a case study where the process is applied.
In developing countries like India, the traffic on roads is highly heterogeneous in nature, with vehicles of widely varying static and dynamic characteristics. In this type of traffic, vehicles do not follow lane disc...
详细信息
In developing countries like India, the traffic on roads is highly heterogeneous in nature, with vehicles of widely varying static and dynamic characteristics. In this type of traffic, vehicles do not follow lane discipline and they move freely over the entire width of roadway based on availability of space, To study this type of complex traffic flow and associated vehicular interactions, simulation is considered as an effective tool. An object-oriented methodology (OOM) for heterogeneous traffic simulation is proposed in this paper with focus on mid-block and intersection flow modeling. The paper presents the basics and advanced features of object-oriented programming (OOP) in detail in the context of traffic flow. The sample C++ code is discussed in detail to demonstrate the implementation of OOP features, such as encapsulation, inheritance and polymorphism. The contribution of this research work is the development of software objects for various components such as vehicle, traffic, link and node. This software can be adopted for heterogeneous traffic simulation programs, in general. (C) 2009 Elsevier Ltd. All rights reserved.
An object-oriented framework is proposed for constructing a virtual machine (VM) to be used in the context of incrementally and iteratively developing a domain-specific language (DSL). The framework is written in C#. ...
详细信息
An object-oriented framework is proposed for constructing a virtual machine (VM) to be used in the context of incrementally and iteratively developing a domain-specific language (DSL). The framework is written in C#. It includes abstract instruction and environment classes. By extending these, a concrete layer of classes is obtained whose instances define the semantics of a set of instructions, as well as one or more execution environment instances that can be manipulated by the instructions. The framework provides a generic mechanism for reading a set of instructions, executing them sequentially by default but branching if necessary, storing or retrieving internal variables, and accessing and manipulating the environment as per the instructions. In general, each instruction can execute an arbitrary C# method as specified by the developer. The syntactic form of instructions is limited to five possibilities. Using the framework, a range of VMs can be generated, each tailored to support a developer-designed target-level DSL. Since each such language is built in terms of these five instruction formats, these target-level languages share a common syntactic structure. The result is a platform to support an incremental iterative language design and implementation approach that involves the following three phases: determine a set of target-level instructions with semantics appropriate to the specific domain;determine source-level language instructions whose syntax appeals to the domain specialist and provide a simple compiler to map the source to target instructions. The first two phases are relatively disjoint and importantly separate syntax concerns from semantics concerns. The final phase is quite straightforward. Comparative performance results support the use of the framework as an alternative to using an interpreter or hardcoded VM for DSL development.
Algorithms for discrete optimization of proteins play a central role in recent advances in protein structure prediction and design. We wish to improve the resources available for computational biologists to rapidly pr...
详细信息
Algorithms for discrete optimization of proteins play a central role in recent advances in protein structure prediction and design. We wish to improve the resources available for computational biologists to rapidly prototype such algorithms and to easily scale these algorithms to many processors. To that end. we describe the implementation and use of two new open source resources. citing potential benefits over existing software. We discuss CHOMP. a new object-oriented library for macromolecular optimization, and SHARPEN, a framework for scaling CHOMP scripts to many computers. These tools allow users to develop new algorithms for a variety of applications including protein repacking, protein-protein docking, loop rebuilding, or homology model remediation. Particular care was taken to allow modular energy function design;. protein conformations may Currently be scored using either the OPLSaa molecular mechanical energy function or an all-atom semiempirical energy function employed by Rosetta. (C) 2009 Wiley Periodicals, Inc. J Comput Chem 30: 999-1005, 2009
暂无评论