OCL is a formal notation to specify constraints on UML models that cannot otherwise be expressed by diagrammatic notations such as class diagrams. Using OCL one can document detailed design decisions and choices along...
详细信息
ISBN:
(纸本)1601320884
OCL is a formal notation to specify constraints on UML models that cannot otherwise be expressed by diagrammatic notations such as class diagrams. Using OCL one can document detailed design decisions and choices along with the behavior, e.g., class invariants and method pre and postconditions. However, OCL constraints cannot be directly executed and checked at runtime by an implementation, thus constraint violations may not be detected or noticed, causing many potential development and maintenance problems. In this paper we propose an approach to checking OCL constraints at runtime by translating them to executable JML assertions. The key components of our approach are a set of JML library classes, use of model variables, and a separation of JML assertions from source code. The library classes implement OCL collection types and facilitate a direct mapping from OCL constraints to JML assertions by using model variables. The translated JML assertions are stored in specification files, separate from source code files, to ease change management of OCL constraints and java source code. Our approach also facilitates a seamless transition from OCL-based designs to java implementations.
In the past we analyzed typeless java programs. One of our results was, that there may be different correct typings for one method. This means that the principal types of such methods are intersection types. We presen...
详细信息
This paper describes a feasible way to integrate Wiki-based projects with the access from mobile devices, in order to contribute to the convergence between Internet Services in the new mobile telecommunications space....
详细信息
The move toward pure managed-code environments is held back by the vast amount of legacy software available only as statically compiled binaries for some legacy instruction set architecture (ISA). Catering to this leg...
详细信息
Performance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. Prevailing approaches either ...
详细信息
ISBN:
(纸本)9781605584690
Performance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. Prevailing approaches either require the deployment of the software on the embedded target, which can be tedious and may be impossible in an early development phase, or rely on simulation, which can be very slow. In this paper, we introduce a customizable cross-profiling framework for embedded java processors, including processors featuring a method cache. The developer profiles the embedded software in the host environment, completely decoupled from the target system, on any standard java Virtual Machine, but the generated profiles represent the execution time metric of the target system. Our cross-profiling framework is based on bytecode instrumentation. We identify several pointcuts in the execution of bytecode that need to be instrumented in order to estimate the CPU cycle consumption on the target system. An evaluation using the JOP embedded java processor as target confirms that our approach reconciles high profile accuracy with moderate overhead. Our cross-profiling framework also enables the rapid evaluation of the performance impact of possible optimizations, such as different caching strategies. Copyright 2008 ACM.
This article presents our research on how a cross-language refactoring could be implemented in an Eclipse Plugin. A non-javalanguage running on the java virtual machine JVM interacts with java code. Refactorings in e...
详细信息
The article presents an example of application, which could be used to support the work of a de ntal clinic. It will provide a rich graphical work environment accessible from the workstation of each distributed client...
详细信息
ISBN:
(纸本)9789665536789
The article presents an example of application, which could be used to support the work of a de ntal clinic. It will provide a rich graphical work environment accessible from the workstation of each distributed clients. The core of the system will be implemented on the application server, using java Enterprise Edition specific technologies, which will provide business logic and access to the database common to the whole system. Thanks to this design the system is very scalable and flexible.
The AlgorithmA project has been in existence since 1991 and is used as an on-going project in the software engineering class taught at CSUSB. In 1998, the project was first implemented on the Internet using java. In 2...
详细信息
The AlgorithmA project has been in existence since 1991 and is used as an on-going project in the software engineering class taught at CSUSB. In 1998, the project was first implemented on the Internet using java. In 2007, the maintenance of the project was a big challenge because of the size of the project and the complexity of the architectural design. This paper talks about the decision process of the software engineering class that led to the re-engineering of the entire AlgorithmA project, which is a situation that actually happens in a real software company. The observations and experiences of the project manager, the team leader of the maintenance team, and the team leader of the java team that implemented the re-design of the project, are discussed in this paper. In 2008, the project was continued by forward engineering the original functions of AlgorithmA. The re-design followed the Model/View/Controller (MVC) model and using the Observer and Factory patterns, made the AlgorithmA project maintainable and extensible for many more years to come.
This paper presents the bootstrapping solution used on the embedded bytecode processor SHAP [6]. Although it employs load-time bytecode patching to resolve constant pool indirections, it is itself most comfortably imp...
详细信息
ISBN:
(纸本)1601320655
This paper presents the bootstrapping solution used on the embedded bytecode processor SHAP [6]. Although it employs load-time bytecode patching to resolve constant pool indirections, it is itself most comfortably implemented in java and executed as bytecode by SHAP. Of course, the processor startup sequence initiates the plain loading of the bootloader code - but it does not undertake any conversions on it. The core chicken-and-egg problem is tackled by the bootloader itself, which separates into distinct phases with growing capabilities. This paper describes the operations and conversions performed during these phases and how the operational control is transferred from one phase to another. It further details the tweaks that enabled a high-level coding in java.
Dungine is an open source Argumentation Engine and API implemented in the java programming language. Dungine uses argument games to evaluate the acceptability of an argument given a constellation of arguments under gr...
详细信息
暂无评论