Automated verification of interactive rule-based configuration systems (original) (raw)

Formalizing Configuration Knowledge Using Rules with Choices

1998

This paper studies the formal underpinningsof the product configuration problem. Arule-based language is proposed for expressingtypical forms of knowledge interactionsin configuration models, i.e. choices, dependenciesbetween choices, optionality and defaults.The language is equipped with adeclarative semantics that provides formaldefinitions for the main concepts in productconfiguration, i.e., configuration model, customerrequirements, satisfiability of requirementsand validity of a ...

Efficient consistency checking of scenario-based product-line specifications

2012 20th IEEE International Requirements Engineering Conference (RE), 2012

Modern technical systems typically consist of multiple components and must provide many functions that are realized by the complex interaction of these components. Moreover, very often not only a single product, but a whole product line with different compositions of components and functions must be developed. To cope with this complexity, it is important that engineers have intuitive, but precise means for specifying the requirements for these systems and have tools for automatically finding inconsistencies within the requirements, because these could lead to costly iterations in the later development. We propose a technique for the scenario-based specification of component interactions based on Modal Sequence Diagrams. Moreover, we developed an efficient technique for automatically finding inconsistencies in the scenario-based specification of many variants at once by exploiting recent advances in the model-checking of product lines. Our evaluation shows benefits of this technique over performing individual consistency checking of each variant specification.

Towards A Configuration Specification Language Based On Constraints Logic Programming

2003

In this paper, we concentrate on describing a configuration specification language suitable for most of configuration problems. The language and the generated configuration task code are based on the key-component approach. The implementation of the language is based on the CLPFD library of SICStus Prolog. The language consists of a number of Prolog clauses, which are compiled into CLPFD constraints. The problem solver is the engine of the Constraint Logic Programming Finite Domain (CLPFD). challenging configuration example from the classics is used to demonstrate the efficiency of the language implementation.

Uml as Domain Specific Language for the Construction of Knowledge-Based Configuration Systems

International Journal of Software Engineering and Knowledge Engineering, 2000

In many domains, software development has to meet the challenges of developing highly adaptable software very rapidly. In order to accomplish this task, domain specific, formal description languages and knowledge-based systems are employed. From the viewpoint of the industrial software development process, it is important to integrate the construction and maintenance of these systems into standard software engineering processes. In addition, the descriptions should be comprehensible for the domain experts in order to facilitate the review process. For the realization of product configuration systems, we show how these requirements can be met by using a standard design language (UML-Unified Modeling Language) as notation in order to simplify the construction of a logic-based description of the domain knowledge. We show how classical description concepts for expressing configuration knowledge can be introduced into UML and be translated into logical sentences automatically. These sent...

Knowledge Engineering for Configuration Systems

Elsevier eBooks, 2014

Developing a product configuration system is a non-trivial and challenging task for various reasons. First, the domain knowledge which has to be encoded into the system is often spread over several departments or functions within a company. Beside that, in many cases data from existing information systems have to be integrated into the configurator. Finally, the business rules or technical constraints which define the space of possible configurations can be relatively complex and also subject to frequent changes. This makes acquiring and encoding domain knowledge as well as testing and debugging particularly demanding tasks. In this chapter, we give an overview of the challenges when developing a knowledge based configuration system. We will particularly focus on questions related to the knowledge acquisition process and will additionally show how model-based debugging techniques can be applied to support the knowledge engineer in the testing and debugging process.

An industrial-strength description logic-based configurator platform

IEEE Intelligent Systems, 1998

AT&T labs-Research ODERN TELECOMMUNICAtions equipment is highly modular and can scale to a wide range of applications. Usually, the equipment's cost and complexity requires that it be manufactured-to-order, or at least assembled-to-order. In this context, orders double as specifications, describing what should be manufactured as well as how the product should be installed. Producing a correct and complete order for such equipment can be challenging when requirements are incomplete, inconsistent, or when the final product is large and complicated. A good order is technically correct and meets customer requirements for network capacity and growth without over-engineering. Incomplete configurations can lead to cost overruns if the missing elements are discovered during manufacturing. If they are not, faulty products can result. Either way, the customers are unhappy. We have tackled the configuration problem for a number of large telecommunications products sold by AT&T and Lucent Technologies. Our Prose configurators are based on CLASSIC,' a description logic-based knowledge representation system developed at AT&T Bell Laboratories.

Features meet scenarios: modeling and consistency-checking scenario-based product line specifications

Requirements Engineering, 2013

Modern software-intensive systems typically consist of multiple components that provide many functions by their interaction. Moreover, often not only a single product, but a whole product line with different compositions of components and functions must be developed. To cope with this complexity, engineers need intuitive, but precise means for specifying the requirements for these systems and require tools for automatically finding inconsistencies within the requirements, because inconsistencies could lead to costly iterations in the later development. In recent work, we proposed a technique for the scenario-based specification of interactions in product lines by a combination of Modal Sequence Diagrams and Feature Diagrams. Furthermore, we elaborated an efficient consistency-checking technique based on a dedicated model-checking approach for product lines. In this paper, we report on further evaluations that underline significant performance benefits of our approach. We describe further optimizations and detail on how we encode the consistency-checking problem for a model-checker. Many modern software-intensive systems consist of multiple components interacting together to deliver the intended functionality. Often, these systems come in many variants (products) and are managed together as a software product line. This variability is the source of * FNRS research fellow

Formulating constraint satisfaction problems for the inspection of configuration rules

Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 2015

Product configurationis when an artifact from a product family is assembled from a set of predefined components that can only be combined in certain ways. These ways are defined by configuration rules. The product developers inspect the configuration rules when they develop new configuration rules or modify the configuration rules set. The inspection of configuration rules is thereby an important activity to avoid errors in the configuration rules set. Several formulations of constraint satisfaction problems (CSPs) are proposed that facilitate the inspection of configuration rules in propositional logic (IF-THEN, AND, NOT, OR, etc.). Many of the configuration rules are so calledproduction rules; that is, a configuration rule is an IF-THEN expression that fires when the IF condition is met. Several configuration rules build chains that fire during the product configuration. It is therefore important not only to inspect single configuration rules but also to analyze the effect of mult...

Logic Verification of Product-Line Variant Requirements

2012 African Conference for Sofware Engineering and Applied Computing, 2012

Formal verification of variant requirements has gained much interest in the software product line (SPL) community. Feature diagrams are widely used to model product line variants. However, there is a lack of precisely defined formal notation for representing and verifying such models. This paper presents an approach to modeling and verifying SPL variant feature diagrams using first-order logic. It provides a precise and rigorous formal interpretation of the feature diagrams. Logical expressions can be built by modeling variants and their dependencies by using propositional connectives. These expressions can then be validated by any suitable verification tool. A case study of a Computer Aided Dispatch (CAD) system variant feature model is presented to illustrate the verification process.