Results 1 -
9 of
9
D.: Extending Alloy with partial instances
- Proc. 3rd ABZ. LNCS
, 2012
"... Abstract. Kodkod, the backend of Alloy4, incorporates new features for solving models where part of the solution, that is, a partial instance, is already known. Although Kodkod has had this functionality for some time, it is not explicitly available to the modeller through the Alloy lan-guage syntax ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Abstract. Kodkod, the backend of Alloy4, incorporates new features for solving models where part of the solution, that is, a partial instance, is already known. Although Kodkod has had this functionality for some time, it is not explicitly available to the modeller through the Alloy lan-guage syntax. We propose an extension to the Alloy language to make partial instances explicitly available to the Alloy user. Explicit partial instances are helpful for the Alloy user in a number of capacities, includ-ing test-driven development, regression testing, modelling by example, and combined modelling and meta-modelling. The proposed syntax also gives the modeller explicit access to the performance benefits of Kodkod’s partial instance features. 1
Automatic transformation of UML models into analytical decision models
, 2008
"... Emerging software dependency models, such as design structure matrices (DSMs), have been used in software design to capture and assess software modular structure and modularization activities. However, thinking and modeling design in terms of decisions and enumerating their dependencies are not stra ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
(Show Context)
Emerging software dependency models, such as design structure matrices (DSMs), have been used in software design to capture and assess software modular structure and modularization activities. However, thinking and modeling design in terms of decisions and enumerating their dependencies are not straightforward. On the other hand, the Unified Modeling Language (UML) is a well-known and widely-used modeling technique. UML diagrams embody important design decisions and their relations. This paper presents an approach to automatically transform a UML class diagram into a logical design model, from which a DSM model can be automatically derived and the system can be automatically decomposed into modules (independent task assignments). Our approach is to formalize the dependency relations of UML class diagrams, automatically translate these relations into augmented constraint networks (ACN), decompose the ACN model into smaller sub-models, and derive DSM models. We use a small example to illustrate our approach, and evaluate the approach using a UML class diagram reverse engineered from Apache Ant. We show that our approach enables automatic translation of a UML model into analytical decision models and support automatic decomposition of a large system into independent decision modules.
Valuing modularity as a real option
, 2009
"... We provide a general valuation approach for capital budgeting decisions involving the modularization in the design of a system. Within the framework developed by Baldwin and Clark (2000), we implement a valuation approach using a numerical procedure based on the Least Squares Monte Carlo method prop ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
We provide a general valuation approach for capital budgeting decisions involving the modularization in the design of a system. Within the framework developed by Baldwin and Clark (2000), we implement a valuation approach using a numerical procedure based on the Least Squares Monte Carlo method proposed by Longstaff and Schwartz (2001). The approach is accurate, general and flexible.
Design rule hierarchy and analytical decision model transformation
, 2008
"... We present two contributions to help make design rule theory operable in software engineering practice. First, we develop an approach to automatically transform a design, expressed in the prevailing unified modeling language, into an augmented constraint network (ACN), from which a design structure ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
(Show Context)
We present two contributions to help make design rule theory operable in software engineering practice. First, we develop an approach to automatically transform a design, expressed in the prevailing unified modeling language, into an augmented constraint network (ACN), from which a design structure matrix (DSM) can be generated. Using ACNs formalizes design rule theory and using DSMS enables option-based reasoning. Second, we design an algorithm to derive a design rule hierarchy from an ACN, revealing the impact scope of each design rule and identifying the independent modules. This hierarchy defines an order in which decisions can be made to maximize task parallelism, constrained by the dependency structure of the architecture. We evaluate the accuracy and scalability of our approaches using both small, but canonical, systems and the open-source Apache Ant system. 1.
A Preliminary Study of Quantified, Typed Events
, 2010
"... In previous work, Rajan and Leavens presented the design of Ptolemy, a language which incorporates the notion of quantified, typed events for improved separation of concerns. In this work, we present an empirical study to evaluate the effectiveness of Ptolemy’s design by applying it to a series of a ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
In previous work, Rajan and Leavens presented the design of Ptolemy, a language which incorporates the notion of quantified, typed events for improved separation of concerns. In this work, we present an empirical study to evaluate the effectiveness of Ptolemy’s design by applying it to a series of architectural releases of a software product line (SPL) for handling multimedia on mobile devices, called MobileMedia, and the comparison and contrast of our findings with a previous in-depth analysis by Figueiredo et al of the objectoriented and aspect-oriented designs of the same system. Our comparative analysis using quantitative metrics proposed by Chidambar and Kemerer (and subsequently used by Garcia et al) and a net-options value analysis used earlier by Cai, Sullivan and Lopes shows that quantified, typed events significantly improve the separation of concerns and further decouple components in the MobileMedia design.
A case study of integrating design rule theory and analytical decision models into a software development process
, 2008
"... The interdependencies of design decisions, made at various stages of software development, determine the modular structure in design, and hence the maintainability and evolvability of the implemented software product. It has been understood that the key step to decompose a system into modules is to ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The interdependencies of design decisions, made at various stages of software development, determine the modular structure in design, and hence the maintainability and evolvability of the implemented software product. It has been understood that the key step to decompose a system into modules is to identify the design rules that decouple otherwise coupled design decisions. Emerging analytical decision models, such as design structure matrices (DSMs) and augmented constraint networks (ACNs) have been used to explicitly model design rules and to analyze software modular structure. In this paper, we present a case study of integrating the design rule theory and these analytical decision models into the development process of a real project, to govern the creation and realization of design rules and to monitor the modular structure of the system throughout the development life cycle. Our experience shows the feasibility and benefits of the integrated process: this integration allowed us to detect poorly-modularized design before coding, to make the design rules and their decoupling effects explicit in both design and implementation, and to detect improper implementation by checking modularity deviation between design and source code. 1.
Assessing Design Modularity and Stability using Analytical Decision Models
"... Various new modularization techniques, such as aspectoriented (AO) programming, are proposed to improve software stability and modularity, and there is a pressing need to assess tradeoffs of modularization alternatives from highlevel design models instead of source code. We present the following con ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
(Show Context)
Various new modularization techniques, such as aspectoriented (AO) programming, are proposed to improve software stability and modularity, and there is a pressing need to assess tradeoffs of modularization alternatives from highlevel design models instead of source code. We present the following contributions in this context: we first present a technique to automatically transform a UML component diagram into analytical decision models, the augmented constraint network (ACN) and design structure matrix (DSM). Second, we define and formalize a suite of design stability and modularity metrics, based on ACN and DSM modeling. These metrics improve prevailing metrics by taking environmental conditions and option reasoning into consideration. Finally, we evaluate our techniques using eight OO and AO releases of a software product line. We show that these metrics allow us to assess which technique generates a more stable, modular design, given a series of envisioned changes, verified by previous source code analysis. 1.
Improving the Efficiency of Dependency Analysis in Logical Decision Models
"... Abstract—To address the problem that existing software dependency extraction methods do not work on higher-level software artifacts, do not express decisions explicitly, and do not reveal implicit or indirect dependencies, our recent work explored the possibility of formally defining and automatical ..."
Abstract
- Add to MetaCart
(Show Context)
Abstract—To address the problem that existing software dependency extraction methods do not work on higher-level software artifacts, do not express decisions explicitly, and do not reveal implicit or indirect dependencies, our recent work explored the possibility of formally defining and automatically deriving a pairwise dependence relation from an augmented constraint networks (ACN) that models the assumption relation among design decisions. The current approach is difficult to scale, requiring constraint solving and solution enumeration. We observe that the assumption relation among design decisions for most software systems can be abstractly modeled using a special form of ACN. For these more restrictive, but highly representative models, we present an O(n 3) algorithm to derive the dependency relation without solving the constraints. We evaluate our approach by computing design structure matrices for existing ACNs that model multiple versions of heterogenous real software designs, often reducing the running time from hours to seconds.
Automatic Transformation of UML to Decision Models and Assessment of Architectural Decisions
"... The design structure matrix (DSM) and its formal counterpart, the augmented constraint network (ACN), have been used to explicitly model software design decisions, design rules and the resulting modular structure. To address the difficulty of modeling software design in terms of decisions, we formal ..."
Abstract
- Add to MetaCart
(Show Context)
The design structure matrix (DSM) and its formal counterpart, the augmented constraint network (ACN), have been used to explicitly model software design decisions, design rules and the resulting modular structure. To address the difficulty of modeling software design in terms of decisions, we formally define the decisions and their assumption relations embedded within UML class diagrams and automatically transform a UML class diagram into an augmented constraint network, from which a DSM can be automatically derived. We also use a real-world software project to assess the difference between syntactical DSMs derived from source code with UML-derived DSMs in terms of their ability of assessing software architecture. The result shows that the UML-derived ACN and DSM models can more effectively help designers to isolate the impact of each individual architectural design rule and feature, assess the effectiveness of refactoring, and locate the maintenance activities that may cause modularity decay.