Software product lines (SPL) gain momentum as a mean for developing and managing a set of related software systems under one umbrella. While intensive research on design and implementation of SPLs exist, the consequen...
详细信息
ISBN:
(纸本)9781450321686
Software product lines (SPL) gain momentum as a mean for developing and managing a set of related software systems under one umbrella. While intensive research on design and implementation of SPLs exist, the consequences of continuous evolution over time such as a decay of design or implementation have been neglected so far. In this context, refactoring has been shown to be an appropriate mean for improving the structure of source code. In this paper, we provide support for fine-grained program refactoring of feature-oriented SPLs. Particularly, we extend existing, object-oriented refactorings by taking the additional dimension of variability into account. To this end, we present the tool VAmPiRE as a basic framework for such refactorings and explain our considerations during implementation, which has been mainly guided by the idea of decomposing refactorings for ease and understandability. Additionally, we provide a detailed discussion about problems and limitations we faced during the implementation and come up with future challenges that have to be tackled for reliable and automated refactoring of software product lines. Copyright 2013 ACM.
Dynamically typed object-oriented languages have been left out of the scope of generic programming: in a dynamically typed setting, the need for generic programming has been less prominent since no restriction applies...
详细信息
Feature-orientedprogramming extends object-orientedprogramming to support feature modularity. Feature modules typically cut across class boundaries to implement end-uservisible features. Customized program variants ...
详细信息
ISBN:
(纸本)1450320467
Feature-orientedprogramming extends object-orientedprogramming to support feature modularity. Feature modules typically cut across class boundaries to implement end-uservisible features. Customized program variants can be composed automatically given a selection of desired feature modules. We propose behavioral feature interfaces based on design by contract for precise localization of faulty feature modules. There are three different approaches for feature-module composition, which are considered to be equivalent in the literature. We discuss advantages and disadvantages for each approach with regard to behavioral feature interfaces. Based on our insights, we present Subclack as a new approach for feature-module composition combining the advantages of all existing approaches. In our examples, we use contracts defined in an feature-oriented extension of the Java Modeling Language, and discuss how they can be checked by means of runtime assertions.
Business process management repositories manage large collections of process models ranging in the thousands. Additionally, they provide management functions like e.g. mining, querying, merging and variants management...
详细信息
Business process management repositories manage large collections of process models ranging in the thousands. Additionally, they provide management functions like e.g. mining, querying, merging and variants management for process models. However, most current business process management repositories are built on top of relation database management systems (RDBMS) although this leads to performance issues. These issues result from the relational algebra, the mismatch between relational tables and object oriented programming (impedance mismatch) as well as new technological developments in the last 30 years as e.g. more and cheap disk and memory space, clusters and clouds. The goal of this paper is to present current paradigms to overcome the performance problems inherent in RDBMS. Therefore, we have to fuse research about data modeling along database technologies as well as algorithm design and parallelization for the technology paradigms occurring nowadays. Based on these research streams we have shown how the performance of business process management repositories could be improved in terms of loading performance of processes (from e.g. a disk) and the computation of management techniques resulting in even faster application of such a technique. Exemplarily, applications of the compiled paradigms are presented to show their applicability.
A new network application programming framework, called Sttyciar, is designed and implemented. Sttyciar is developed to be re-usable and easily extensible, wrapping the procedural pcap library to provide an intuitive ...
详细信息
A new network application programming framework, called Sttyciar, is designed and implemented. Sttyciar is developed to be re-usable and easily extensible, wrapping the procedural pcap library to provide an intuitive object-oriented interface to the receiving and transmitting functionality of network interfaces attached to a host computer. The framework's layered architecture, which includes features such as buffering and statistic calculation, is detailed and a performance analysis on its capabilities is carried out. The framework is shown to be capable of operating with a throughput in excess of 100 Mbps, but this performance is dependent on the speed and architecture of the computer. The use of multi-threading and Sttyciar's ability to scale to processors with multiple cores is also outlined. Potential performance and structure improvements are identified but the framework is found to be suitable to support applications operating in live networking environments.
object-orientedprogramming (OOP) encapsulates object implementations with access specifiers like public and private. Compilers can verify that code adheres to specifiers, but verification can be broken in languages l...
详细信息
An argument is made why it may be a good idea to go for a combined modelling and programming language instead of using diverging modelling and programming languages, with implied code generation from models to program...
详细信息
We present the Ruby Type Checker (rtc), a tool that adds type checking to Ruby, an object-oriented, dynamic scripting language. Rtc is implemented as a Ruby library in which all type checking occurs at run time;thus i...
详细信息
ISBN:
(纸本)9781450316569
We present the Ruby Type Checker (rtc), a tool that adds type checking to Ruby, an object-oriented, dynamic scripting language. Rtc is implemented as a Ruby library in which all type checking occurs at run time;thus it checks types later than a purely static system, but earlier than a traditional dynamic type system. Rtc supports type annotations on classes, methods, and objects and rtc provides a rich type language that includes union and intersection types, higherorder (block) types, and parametric polymorphism among other features. Rtc is designed so programmers can control exactly where type checking occurs: type-annotated objects serve as the "roots" of the type checking process, and unan-notated objects are not type checked. We have applied rtc to several programs and found it to be easy to use and e ective at checking types. Copyright 2013 ACM.
We report on experiences in using two very different program verification technologies. One of them is based on object-oriented assertion languages and it comes with automatic static verification of object-oriented pr...
详细信息
Automated random testing has been shown to be effective at finding faults in a variety of contexts and is deployed in several testing frameworks. AutoTest is one such framework, targeting programs written in Eiffel, a...
详细信息
暂无评论