Results 1 -
9 of
9
Model-Driven Design Pattern Detection Using Difference Calculation
"... This paper addresses the question of how to detect instances of patterns in software systems regarding model-driven development. The knowledge about patterns used in a software assists developers understanding large and complex software systems. Since model-driven engineering is the main philosophy ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
This paper addresses the question of how to detect instances of patterns in software systems regarding model-driven development. The knowledge about patterns used in a software assists developers understanding large and complex software systems. Since model-driven engineering is the main philosophy of today’s software engineering and UML is used as a standard language for modeling, developers should be made familiar with pattern instances although they work with models only. While current approaches to pattern detection require developers to translate a pattern into Prolog clauses or other non-familiar formalisms, we propose an approach that allows developers to use ordinary UML diagram editors to specify patterns. The basic idea is to consider a pattern definition and an instance of the pattern as two similar document fragments and to solve the problem of finding pattern instances using a difference algorithm known as SiDiff. The SiDiff algorithm is a highly configurable generic algorithm which computes differences between graph-structured UML diagrams. This algorithm compares diagram elements and computes the similarity of pairs of diagram elements. First experiences indicate that minor modifications of the SiDiff algorithm are sufficient to make it a useful tool for finding instances of a pattern defined by a UML model in a software which is also given as a UML model.
Automatic detection of incomplete instances of structural patterns in UML class
- Nordic Journal of Computing
, 2005
"... Abstract. An approach for the detection of structural patterns based on UML class diagrams is presented. By using a fuzzy-like evaluation mechanism the introduced approach is able to recognize not only entire patterns but also incomplete instances. Referring to structural patterns in general the kno ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
(Show Context)
Abstract. An approach for the detection of structural patterns based on UML class diagrams is presented. By using a fuzzy-like evaluation mechanism the introduced approach is able to recognize not only entire patterns but also incomplete instances. Referring to structural patterns in general the knowledge about used patterns assists a developer not only while maintaining or reverse engineering existing software, but already while designing or implementing new software. The information about the instantiation status is essential for a developer using, for example, specialization patterns that guide the extension of a particular framework. The developer can be supported by information about already instantiated patterns as well as partial instances which obviously occur rather often while developing. 1
Questionnaire-based Variability Modeling for System Configuration
"... Variability management is a recurrent issue in systems engineering. It arises for example in enterprise systems, where modules are configured and composed to meet the requirements of individual customers based on modifications to a reference model. It also manifests itself in the context of software ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
(Show Context)
Variability management is a recurrent issue in systems engineering. It arises for example in enterprise systems, where modules are configured and composed to meet the requirements of individual customers based on modifications to a reference model. It also manifests itself in the context of software product families, where variants of a system are built from a common code base. This paper proposes an approach to capture system variability based on questionnaire models that include order dependencies and domain constraints. The paper presents analysis techniques to detect circular dependencies and contradictory constraints in questionnaire models, as well as techniques to incrementally prevent invalid configurations by restricting the space of allowed answers to a question based on previous answers. The approach has been implemented as a toolset and has been used in practice to capture configurable process models for film post-production.
Questionnaire-based Variability Modeling for
- System Configuration. International Journal on Software and Systems Modeling
, 2008
"... Abstract. Variability management is a recurrent issue in systems engineering. It arises for example in enterprise systems, where modules are configured and com-posed to meet the requirements of individual customers based on modifications to a reference model. It also manifests itself in the context ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
(Show Context)
Abstract. Variability management is a recurrent issue in systems engineering. It arises for example in enterprise systems, where modules are configured and com-posed to meet the requirements of individual customers based on modifications to a reference model. It also manifests itself in the context of software product fam-ilies, where variants of a system are built from a common code base. This paper proposes an approach to capture system variability based on questionnaire mod-els that include order dependencies and domain constraints. The paper presents analysis techniques to detect circular dependencies and contradictory constraints in questionnaire models, as well as techniques to incrementally prevent invalid configurations by restricting the space of allowed answers to a question based on previous answers. The approach has been implemented as a toolset and has been used in practice to capture configurable process models for film post-production.
Variability Modeling for Questionnaire-based System Configuration
"... Abstract. Variability management, be it at the level of models or at the level of code, is a recurrent issue in systems engineering. It arises for ex-ample in enterprise systems, where modules are configured and composed to meet the requirements of individual customers based on modifications to a re ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
(Show Context)
Abstract. Variability management, be it at the level of models or at the level of code, is a recurrent issue in systems engineering. It arises for ex-ample in enterprise systems, where modules are configured and composed to meet the requirements of individual customers based on modifications to a reference model. It also manifests itself in the context of software product families, where variants of a system are built from a common code base. This paper presents a formal foundation for representing sys-tem variability for the purpose of generating questionnaires that guide users during system configuration. The generated questionnaires are in-teractive, in the sense that questions are only posed if and when they can be answered, and the space of allowed answers to a question is de-termined by previous answers. The approach has been implemented and tested against a reference model from the logistics domain. Key words: variability modeling, system configuration, questionnaire, software product family, reference model
Prova de Qualificação de Doutoramento em Informática
"... A software product-line (SPL) is a family of products sharing the same assets. A product-line platform allows the derivation of distinct products within the same application domain. The use of SPLs appears to be the most effective strategy for achieving large-scale software reuse, assuring rapid dev ..."
Abstract
- Add to MetaCart
(Show Context)
A software product-line (SPL) is a family of products sharing the same assets. A product-line platform allows the derivation of distinct products within the same application domain. The use of SPLs appears to be the most effective strategy for achieving large-scale software reuse, assuring rapid development of new products with good quality levels. Enabling variability in software consists in delaying decisions at different software abstraction levels, ranging from requirements to runtime. A key issue in SPLs is its variability management, since it is the mechanism for derivation of specific products (SPL specialization). The mainstream object-oriented (OO) way to implement SPL variability is based on the development of frameworks- reusable components of a software system described by a set of classes and the way instances of those classes collaborate. Model-Driven Engineering (MDE) is a trend which promotes the use of models as the main artifacts during software development and maintenance process. Models become artifacts to be maintained along with the code, by using model transformations and code generation. MDE is related with the Object Management Group (OMG) initiatives,
Detection of Incomplete Patterns Using FUJABA Principles
, 2005
"... An approach for the detection of structural patterns in UML class diagrams is presented. It picks up some principles of the reverse engineering component of Fujaba, such as a hierarchical pattern definition and an alternating bottomup/top-down analysis. Furthermore it uses a fuzzy-like evaluation me ..."
Abstract
- Add to MetaCart
An approach for the detection of structural patterns in UML class diagrams is presented. It picks up some principles of the reverse engineering component of Fujaba, such as a hierarchical pattern definition and an alternating bottomup/top-down analysis. Furthermore it uses a fuzzy-like evaluation mechanism so that it is able to recognize not only entire patterns but also incomplete instances. The knowledge about incomplete instances, which obviously occur rather often during the developing process, assists developers not only while maintaining or reverse engineering existing software but already while designing and implementing new software.
Generating Interactive Questionnaires From Configuration Models
"... Abstract. Configuration, be it at the level of models or at the level of code, is a recurrent issue in systems engineering. It arises for example in enterprise systems, where modules are adapted and composed to meet the needs of individual customers based on modifications to a reference model. It al ..."
Abstract
- Add to MetaCart
(Show Context)
Abstract. Configuration, be it at the level of models or at the level of code, is a recurrent issue in systems engineering. It arises for example in enterprise systems, where modules are adapted and composed to meet the needs of individual customers based on modifications to a reference model. It also manifests itself in the context of software product families, where variants of a system are built from a common code base. Configuration of such generic systems generally involves two phases: (i) collecting data by answering a set of questions; and (ii) performing certain actions on an existing model or code base to produce an individualized model or system. This paper focuses on the first of these phases. The paper proposes a formal foundation for representing configuration models as well as methods to ensure the consistency of these models and to generate questionnaires from them. The generated questionnaires are interactive, in the sense that questions are only posed if and when they can be answered, and the space of allowed answers to a question is determined by previous answers. The approach has been implemented and tested against a reference model from the logistics domain. Key words: system configuration, configuration model, interactive questionnaire, product family, reference model