7 research outputs found

    Generalising feature interactions in email

    Get PDF
    We report on a property-based approach to feature interaction analysis for a client-server email system. The model is based upon Hall's email model presented at FIW'00, but the implementation is at a lower level of abstraction, employing non-determinism and asynchronous communication; it is a challenge to avoid deadlock and race conditions. The analysis is more extensive in two ways: interaction analysis is fully automated, based on model-checking the entire state-space, and results are scalable, that is they generalise to email systems consisting of any number of email clients. Abstraction techniques are used to prove general results. The key idea is to model-check a system consisting of a constant number (m) of client processes, in parallel with a mailer process and an ``abstract'' process which represents the product of any number of other (unfeatured, isomorphic) client processes. We give a lower bound for the value of m. All of the models -- for any specified set of client processes and selected features -- are generated automatically using Perl scripts

    Hybrid solutions to the feature interaction problem

    Get PDF
    In this paper we assume a competitive marketplace where the features are developed by different enterprises, which cannot or will not exchange information. We present a classification of feature interaction in this setting and introduce an on-line technique which serves as a basis for the two novel <i>hybrid</i> approaches presented. The approaches are hybrid as they are neither strictly off-line nor on-line, but combine aspects of both. The two approaches address different kinds of feature interactions, and thus are complimentary. Together they provide a complete solution by addressing interaction detection and resolution. We illustrate the techniques within the communication networks domain

    A Feature-Oriented Modelling Language and a Feature-Interaction Taxonomy for Product-Line Requirements

    Get PDF
    Many organizations specialize in the development of families of software systems, called software product lines (SPLs), for one or more domains (e.g., automotive, telephony, health care). SPLs are commonly developed as a shared set of assets representing the common and variable aspects of an SPL, and individual products are constructed by assembling the right combinations of assets. The feature-oriented software development (FOSD) paradigm advocates the use of system features as the primary unit of commonality and variability among the products of an SPL. A feature represents a coherent and identifiable bundle of system functionality, such as call waiting in telephony and cruise control in an automobile. Furthermore, FOSD aims at feature-oriented artifacts (FOAs); that is, software-development artifacts that explicate features, so that a clear mapping is established between a feature and its representation in different artifacts. The thesis first identifies the problem of developing a suitable language for expressing feature-oriented models of the functional requirements of an SPL, and then presents the feature-oriented requirements modelling language (FORML) as a solution to this problem. FORML's notation is based on standard software-engineering notations (e.g., UML class and state-machine models, feature models) to ease adoption by practitioners, and has a precise syntax and semantics to enable analysis. The novelty of FORML is in adding feature-orientation to state-of-the-art requirements modelling approaches (e.g., KAOS), and in the systematic treatment of modelling evolutions of an SPL via enhancements to existing features. An existing feature can be enhanced by extending or modifying its requirements. Enhancements that modify a feature's requirements are called intended feature interactions. For example, the call waiting feature in telephony intentionally overrides the basic call service feature's treatment of incoming calls when the subscriber is already involved in a call. FORML prescribes different constructs for specifying different types of enhancements in state-machine models of requirements. Furthermore, unlike some prominent approaches (e.g., AHEAD, DFC), FORML's constructs for modelling intended feature interactions do not depend on the order in which features are composed; this can lead to savings in analysis costs, since only one rather than (possibly) multiple composition orders need to be analyzed. A well-known challenge in FOSD is managing feature interactions, which, informally defined, are ways in which different features can influence one another in defining the overall properties and behaviours of their combination. Some feature interactions are intended, as described above, while other feature interactions are unintended: for example, the cruise control and anti-lock braking system features of an automobile may have incompatible affects on the automobile's acceleration, which would make their combination inconsistent. Unintended feature interactions should be detected and resolved. To detect unintended interactions in models of feature behaviour, we must first define a taxonomy of feature interactions for the modelling language: that is, we must understand the different ways that feature interactions can manifest among features expressed in the language. The thesis presents a taxonomy of feature interactions for FORML that is an adaptation of existing taxonomies for operational models of feature behaviour. The novelty of the proposed taxonomy is that it presents a definition of behaviour modification that generalizes special cases found in the literature; and it enables feature-interaction analyses that report only unintended interactions, by excluding interactions caused by FORML's constructs for modelling intended feature interactions

    Handling Emergent Conflicts in Adaptable Rule-based Sensor Networks

    Get PDF
    This thesis presents a study into conflicts that emerge amongst sensor device rules when such devices are formed into networks. It describes conflicting patterns of communication and computation that can disturb the monitoring of subjects, and lower the quality of service. Such conflicts can negatively affect the lifetimes of the devices and cause incorrect information to be reported. A novel approach to detecting and resolving conflicts is presented. The approach is considered within the context of home-based psychiatric Ambulatory Assessment (AA). Rules are considered that can be used to control the behaviours of devices in a sensor network for AA. The research provides examples of rule conflict that can be found for AA sensor networks. Sensor networks and AA are active areas of research and many questions remain open regarding collaboration amongst collections of heterogeneous devices to collect data, process information in-network, and report personalised findings. This thesis presents an investigation into reliable rule-based service provisioning for a variety of stakeholders, including care providers, patients and technicians. It contributes a collection of rules for controlling AA sensor networks. This research makes a number of contributions to the field of rule-based sensor networks, including areas of knowledge representation, heterogeneous device support, system personalisation, and in particular, system reliability. This thesis provides evidence to support the conclusion that conflicts can be detected and resolved in adaptable rule-based sensor networks

    Prioritizing Features Through Categorization: An Approach to Resolving Feature Interactions

    Get PDF
    Feature interactions occur when one feature interferes with the intended operation of another feature. To detect such interactions, each new feature must be tested against existing features. The detected interactions must then be resolved; many existing approaches to resolving interactions require the feature set be prioritized. Unfortunately, the cost to determine a priority ordering for a feature set increases dramatically as the number of features increases. This thesis explores strategies to decrease the cost of prioritizing features, and thus facilitates priority-based solutions to resolving feature interactions. Specifically, this thesis introduces a categorization approach that reduces the complexity of determining priorities for a large set of features by decomposing the prioritization problem. Our categorization approach reduces this cost by using abstraction to divide the system's features into categories based on their main goal or functionality (e.g., block unwanted calls, present call information). Next, in order to detect and resolve the interactions that occur between these seemingly unrelated categories, we identify a set of principles for proper system behaviour that define acceptable behaviour in the global system. For example, a call that should be blocked by a call-screening feature should never result in a voice connection. The categories are then ordered, such that adherence to the principles is optimized. We show that using category priorities, to order a large feature set, correctly resolves interactions between individual features and significantly reduces the cost to determine priority orderings. The four significant contributions that this thesis makes are: 1) the categorization of features, 2) the principles of proper system behaviour, 3) automatic generation of priority orderings for categories, and 4) devising several optimizations that reduce the search space when exploring call simulations during the automatic generation of the priority orderings. These contributions are examined with respect to the telephony domain and result in the identification of 12 feature categories and 9 principles of proper system behaviour. A Prolog model was also created to run call simulations on the categories, using the identified principles as correctness criteria. Our case studies showed the reduced cost of our categorization approach is approximately 1/10^(55) % of the cost of a traditional approach. Given this significant reduction in the cost and the ability of our model to accurately reproduce the manually identified priority orderings, we can confidently argue that our categorization approach was successful. The three main limitations of our categorization approach are: 1) not all features (e.g., 911 features in telephony) can be categorized or some categories will contain a small number of features, 2) the generated priority ordering may still need to be analyzed by a human expert, and 3) the run time for our automatic generation of priority orderings remains factorial with respect to the size of the number of categories. However, these limitations are small in comparison to the savings generated by the categorization approach

    Runtime Resolution of Feature Interactions in Evolving Telecommunications Systems

    Get PDF
    Feature interactions in telecommunications is an active research area. Many approaches to solve the so-called feature interaction problem have been proposed. However, all these approaches consider feature interaction as a somewhat isolated problem, in particular it is not seen in the context of evolving legacy systems and third party features in a deregulated market environment. An exception is the approach by Marples and Magill [MM98, Mar00], which presents an interaction detection mechanism and an essentially manual resolution approach. We develop an automatic resolution approach that can be integrated with Marples and Magill's detection mechanism. We distinguish two key concepts, namely solutions and resolutions. The former are essentially possible behaviours of the system, they are not qualified as desirable or undesirable, the latter are the desirable solutions. Our approach allows for automatic removal of undesired behaviour and selection of the "best" desired behaviour. The correctness, complexity and suitability of our approach are analysed. Two case studies support these more theoretical considerations. Our approach is transferable to other areas, such as quality of service management, and is not restricted to network architectures with a single point of control
    corecore