The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Problem of belief revision and specification evolution has been studied for years. Researchers have proposed ACM theory and R-calculus to solve the problem. This paper concerns with the revision of proposition logic and proposes a revision algorithm which can automatically find out a revision of given sets. The correctness of the algorithm is proved and concepts such as basic proposition, assignment...
Software behavior models play an important role in software development. They can be manually generated to specify the intended behavior of a system, or they can be reverse-engineered to capture the actual behavior of the system. Models may differ when they correspond to different versions of the system, or they may contain faults or inaccuracies. In these circumstances, it is important to be able...
Due to the large number of possible variants in typical software product lines (SPLs), the modeling of, explicit knowledge of, and predictability of the quality tradeoffs inherent in certain feature selections are critical to the future viability of SPLs. This paper presents IQ-SPLE, an integrated tool supported approach that considers both qualitative and quantitative quality attributes without imposing...
In this paper we present an architectural framework designed to increase the survivability of software agent nodes in a distributed system. A multi-layered model replaces the original node software. Original computational requirements of the node are retained in the lowest level. The upper layers of the model provide protective and supportive services. Model components are mutated to create behaviorally...
We study the problem of finding a finite bisimilar abstraction for a class of reactive untimed infinite-state systems, modeled as input-output extended finite automata (I/O-EFA). We identify a lower bound abstraction (that is coarser than any finite bisimilar abstraction), and present an iterative refinement algorithm whose termination guarantees the existence of a finite bisimilar abstraction. The...
Increasingly, models are becoming first class core assets, and model-driven engineering requires novel techniques, tools, and practices to face the globalization of software development in the (always more) pervasive IT world. This paper proposes a framework for synchronous and asynchronous concurrent and collaborative modeling. Synchronous collaborative modeling offers services for sharing the modeling...
We used the Spin model checker to show that Intel's implementation of software transactional memory is correct. Transactional memory makes it possible to write properly-synchronized multi-threaded programs without the explicit use of locks. We describe our model of Intel's implementation, our experience with Spin, what we have shown, and what obstacles remain to showing more.
Determining whether a set of features can be composed, or safe composition, is a hard problem in software product line engineering because the number of feature combinations can be exponential. We argue that synergies between current approaches to safe composition should be exploited and propose a combined approach. At the heart of our proposal is a merge operation that creates a behavioural description...
Volunteer Computing is a form of distributed computing in which the general public offers processing power and storage to scientific research projects. A large variety of Volunteer Computing Systems (VCS) have been proposed in the literature which use different architectures from client/server to P2P. This paper aims to provide a formal abstraction of VCS. At first, we identify three key roles played...
The Petascale Cray XT5 system at the Oak Ridge National Laboratory (ORNL) Leadership Computing Facility (LCF) shares a number of system and software features with its predecessor, the Cray XT4 system including the quad-core AMD processor and a multi-core aware MPI library. We analyze performance of scalable scientific applications on the quad-core Cray XT4 system as part of the early system access...
When modeling the architecture of an existing software system, developers often find inconsistencies between the conceptual and the as-built architecture. To impose the conceptual view on the code often involves large refactoring to remediate architectural violations. This paper reports our experience applying large refactoring to remediate an architectural violation in LogicBlox, a large, multi-language...
Architecture analysis and design language (AADL) is used to describe the hardware and software architectures of embedded applications at the system level. The implementation of such systems is often distributed across asynchronous communication infrastructures. Such a distributed system is usually composed of locally synchronous processes communicating in a globally asynchronous manner, a GALS system...
It is important that information provided in bug reports is relevant and complete in order to help resolve bugs quickly. However, often such information trickles to developers after several iterations of communication between developers and reporters. Poorly designed bug tracking systems are partly to blame for this exchange of information being stretched over time. Our paper addresses the concerns...
Scientific workflow management systems have become a widely used tool to orchestrate a sequence of programs, defined by scientific workflows, to build complex computer simulations. With the aid of these workflows, scientists develop their models for in-silico experiments. Although these workflows are very dynamic and need a large number of changes in their definition, very little effort has been done...
Statistical debugging aims to automate the process of isolating bugs by profiling several runs of the program and using statistical analysis to pinpoint the likely causes of failure. In this paper, we investigate the impact of using richer program profiles such as path profiles on the effectiveness of bug isolation. We describe a statistical debugging tool called HOLMES that isolates bugs by finding...
Software development is an evolutionary process. Requirements of a system are often incomplete or inconsistent, and hence need to be extended or modified over time. Customers may demand new services or goals that often lead to changes in the design and implementation of the system. These changes are typically very expensive. Even if only local modifications are needed, manually applying them is time-consuming...
Model-driven development and verification approaches are highly desirable in embedded systems development since they help identify functional or non-functional issues in the early stage of development when verification complexity is relatively lower than that of the implemented system. Nevertheless, typical model-driven verification approaches focus mainly on functional aspects, leaving the communication...
This paper proposes a methodology to improve the reusability of finite element analysis (FEA) software using a program family approach. The usability and the maintainability are significant problems for a developer trying to properly reuse FEA software. Usability is promoted via systematically defined goals, assumptions, theoretical and computational models, definitions, common requirements and variabilities...
An analytic model is proposed to assess the performance of optimistic software transactional memory (STM) systems with in-place memory updates for write operations. Based on an absorbing discrete-time Markov chain, closed-form analytic expressions are developed, which are quickly solved iteratively to determine key parameters of the STM system. The model covers complex implementation details such...
In product lines for systems engineering a number of different viewpoints on the modeled system have to maintained, comprising both software-related viewpoints and domain-specific views on hardware and environment. A major engineering challenge is to maintain model transformations and code generators working on these viewpoints. This paper proposes an engineering approach that explicitly describes...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.