In MANET applications, a common pattern is to maintain and query time-varying collections of remote objects. Traditional approaches require programmers to manually track the connectivity state of these remote objects ...
详细信息
The proceedings contain 36 papers. The topics discussed include: caching and incrementalisation in the Java query language;interprocedural query extraction for transparent persistence;deep typechecking and refactoring...
The proceedings contain 36 papers. The topics discussed include: caching and incrementalisation in the Java query language;interprocedural query extraction for transparent persistence;deep typechecking and refactoring;join patterns for visual basic;whiteoak: introducing structural typing into Java;mixing source and bytecode: a case for compilation by normalization;tolerating memory leaks;JOLT: lightweight dynamic analysis and removal of object churn;QVM: an efficient runtime for detecting defects in deployed systems;contention-aware scheduler: unlocking execution parallelism in multithreaded Java programs;dynamic optimization for efficient strong atomicity;jStar: towards practical verification for Java;verifying correct usage of atomic blocks and typestate;enforcing object protocols by combining static and runtime analysis;the impact of static-dynamic coupling on remodularization;and sound and extensible renaming for Java.
Contract-based design enriches a component model with properties structured in pairs of assumptions and guarantees. These properties are expressed in term of the variables at the interface of the components, and speci...
详细信息
ISBN:
(纸本)9781479902156
Contract-based design enriches a component model with properties structured in pairs of assumptions and guarantees. These properties are expressed in term of the variables at the interface of the components, and specify how a component interacts with its environment: the assumption is a property that must be satisfied by the environment of the component, while the guarantee is a property that the component must satisfy in response. Contract-based design has been recently proposed in many methodologies for taming the complexity of embedded systems. In fact, contract-based design enables stepwise refinement, compositional verification, and reuse of components. However, only few tools exist to support the formal verification underlying these methods. OCRA (Othello Contracts Refinement Analysis) is a new tool that provides means for checking the refinement of contracts specified in a linear-time temporal logic. The specification language allows to express discrete as well as metric real-time constraints. The underlying reasoning engine allows checking if the contract refinement is correct. OCRA has been used in different projects and integrated in CASE tools.
Model transformation is the process of automatically generating a target model from a source model according to a set of transformation rules. Automatic model transformation has the potential to eliminate the complexi...
详细信息
ISBN:
(纸本)9781467358255
Model transformation is the process of automatically generating a target model from a source model according to a set of transformation rules. Automatic model transformation has the potential to eliminate the complexity, the inconsistencies and faults that are inherent in a manual model transformation process. Many of the existing tools that automate the model transformation process require the encoding of transformation rules within the transformation process, which limits their reuse and usability in different contexts. This paper presents a tool that automates the model transformation of component-based systems specification. The tool takes an architectural specification as input and generates a behavior protocol as output. The transformation rules are described independently from the transformation process. This allows changing the transformation rules without affecting the transformation process. We discuss in detail the transformation rules for transforming a trustworthy component-based system, formally specified in an architecture description language (TADL), to an extended timed automata specification. The goal is to formally verify trustworthiness properties claimed in the source model by model checking the trustworthiness properties in the target model. By varying the target model and the set of transformation rules the same tool can be used to obtain different target models and use different verification techniques.
This paper presents object-oriented design of library meant for modeling and simulating Timed Colored Petri Net models. The approach is prepared to integrate TCPN models with crucial parts of larger applications imple...
详细信息
This paper presents object-oriented design of library meant for modeling and simulating Timed Colored Petri Net models. The approach is prepared to integrate TCPN models with crucial parts of larger applications implemented in object-oriented languages. The formal models can be tightly joined with applications allowing the latter to interpret states of the formal model in their domain of responsibility. This approach allows less error-prone and more pervasive use of formal methods to improve quality of software created with imperative languages.
This article discusses opportunities for leveraging scale in cases of recurring scenarios of comparable decisions with multiple objectives in well-defined domains. Based on a software component ranking and selection m...
详细信息
ISBN:
(纸本)9780769548920;9781467359337
This article discusses opportunities for leveraging scale in cases of recurring scenarios of comparable decisions with multiple objectives in well-defined domains. Based on a software component ranking and selection method that uses utility analysis to separate objective information gathering and subjective assessment, we discuss challenges of decision making such as criterion complexity and evaluation effort. We show that by systematically identifying criteria across cases, it becomes feasible to employ cross-referencing and quantitative assessment of decision criteria and criteria sets across scenarios and organizations to improve decision making efficiency and effectiveness. We present a method and tool that allows referencing decision criteria across cases and employs a set of impact factors for decision criteria and sets of criteria. We discuss the results of analyzing a series of real-world case studies in software component selection. We analyze the applications and implications of the method and its potential to improve decision making effectiveness and efficiency.
The proceedings contain 13 papers. The topics discussed include: tool support for refactoring functional programs;when refactoring acts like modularity - keeping options open with persistent condition checking;toward ...
ISBN:
(纸本)9781605583396
The proceedings contain 13 papers. The topics discussed include: tool support for refactoring functional programs;when refactoring acts like modularity - keeping options open with persistent condition checking;toward refactoring in a polyglot world - extending automated refactoring support across Java and XML;refactoring is not (yet) about transformation;towards a refactoring guideline using code clone classication;gathering refactoring data: a comparison of four methods;recommending refactorings when restructuring variabilities in software product lines;designing refactoring tools for developers;re-approaching the refactoring Rubicon;refactoring a language for parallel computational chemistry;a security oriented program transformation to add on policies to prevent injection attacks;and implementing refactorings in IntelliJ IDEA.
Modern object-orientedapplications commonly suffer from severe performance problems that need to be optimized away for increased efficiency and user satisfaction. Many existing optimization techniques (such as object...
详细信息
Modern object-orientedapplications commonly suffer from severe performance problems that need to be optimized away for increased efficiency and user satisfaction. Many existing optimization techniques (such as object pooling and pretenuring) require precise identification of object lifetimes. However, it is particularly challenging to obtain object lifetimes both precisely and efficiently: precise profiling techniques such as Merlin introduce several hundred times slowdown even for small programs while efficient approximation techniques often sacrifice precision and produce less useful lifetime information. This paper presents a tunable profiling technique, called Resurrector, that explores the middle ground between high precision and high efficiency to find the precision-efficiency sweetspot for various liveness-based optimization techniques. Our evaluation shows that Resurrector is both more precise and more efficient than the GC-based approximation, and it is orders-of-magnitude faster than Merlin. To demonstrate Resurrector's usefulness, we have developed client analyses to find allocation sites that create large data structures with disjoint lifetimes. By inspecting program source code and reusing data structures created from these allocation sites, we have achieved significant performance gains. We have also improved the precision of an existing optimization technique using the lifetime information collected by Resurrector.
Data mining discovers knowledge and useful information from large amounts of data stored in *** the increasing popularity of object-oriented database system in advanced database applications,it is significantly import...
详细信息
Data mining discovers knowledge and useful information from large amounts of data stored in *** the increasing popularity of object-oriented database system in advanced database applications,it is significantly important to study the data mining methods for objectoriented *** paper proposes that higher-order logic programming languages and techniques is very suitable for object-oriented data mining,and presents a framework for objectoriented data mining based on higher-order logic *** a framework is inductive logic programming which adopts higher-order logic programming language Escher as knowledge representation *** addition,Escher is a generalization of the attribute-value representation,thus many higher-order logic learners under this framework can be upgraded directly from corresponding propositional learners.
In many reactive systems, programs run cyclically. In each cycle, they check the current status and handle the business for a single step. The business logic has to be blasted to pieces, which violates the way that pe...
详细信息
ISBN:
(纸本)9780769549866
In many reactive systems, programs run cyclically. In each cycle, they check the current status and handle the business for a single step. The business logic has to be blasted to pieces, which violates the way that people are used to. Cyclic programs are difficult to develop and their reliability is hard to guarantee. To tackle these problems, we propose a model-based formal design flow which is more rigorous and rapid than the V-model. Our method consists of three phases: modeling, verification and code synthesis. In the modeling phase, BIP (Behavior-Interaction-Priority) language, which is expressive and allows flexible modeling, is used as the modeling language. Real-time behavior, that is highly concerned in reactive systems, can be modeled as well. In the verification phase, the system model is translated to timed automata and checked by UPPAAL. Verification helps to ensure the correctness of the model. In the code synthesis phase, the software part of the system model is synthesized to cyclic code. We propose an algorithm which can generate high-performance cyclic code from a model which describes the business work-flow. This feature significantly simplifies program development. A set of tools is implemented to support our design flow and they are successfully applied to an industrial case study for a PLC (Programmable Logic Controller) system which is used to control several physical devices in a huge palace.
暂无评论