Results 1 - 10
of
71
Scaling Step-Wise Refinement
- IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 2004
"... Step-wise refinement is a powerful paradigm for developing a complex program from a simple program by adding features incrementally. We present the AHEAD (Algebraic Hierarchical Equations for Application Design) model that shows how step-wise refinement scales to synthesize multiple programs and mu ..."
Abstract
-
Cited by 454 (41 self)
- Add to MetaCart
(Show Context)
Step-wise refinement is a powerful paradigm for developing a complex program from a simple program by adding features incrementally. We present the AHEAD (Algebraic Hierarchical Equations for Application Design) model that shows how step-wise refinement scales to synthesize multiple programs and multiple noncode representations. AHEAD shows that software can have an elegant, hierarchical mathematical structure that is expressible as nested sets of equations. We review a tool set that supports AHEAD. As a demonstration of its viability, we have bootstrapped AHEAD tools from equational specifications, refining Java and non-Java artifacts automatically; a task that was accomplished only by ad hoc means previously.
A view of 20th and 21st century software engineering
- In Proceedings of the 28th international Conference on Software Engineering ICSE
, 2006
"... George Santayana's statement, "Those who cannot remember the past are condemned to repeat it, " is only half true. The past also includes successful histories. If you haven't been made aware of them, you're often condemned not to repeat their successes. In a rapidly expandin ..."
Abstract
-
Cited by 63 (1 self)
- Add to MetaCart
George Santayana's statement, "Those who cannot remember the past are condemned to repeat it, " is only half true. The past also includes successful histories. If you haven't been made aware of them, you're often condemned not to repeat their successes. In a rapidly expanding field such as software engineering, this happens a lot. Extensive studies of many software projects such as the Standish Reports offer convincing evidence that many projects fail to repeat past successes. This paper tries to identify at least some of the major past software experiences that were well worth repeating, and some that were not. It also tries to identify underlying phenomena influencing the evolution of software engineering practices that have at least helped the author appreciate how our field has gotten to where it has been and where it is. A counterpart Santayana-like statement about the past and future might say, "In an era of rapid change, those who repeat the past are condemned to a bleak future. " (Think about the dinosaurs, and think carefully about software engineering maturity models that emphasize repeatability.) This paper also tries to identify some of the major sources of change that will affect software engineering practices in the next couple of decades, and identifies some strategies for assessing and adapting to these sources of change. It also makes some first steps towards distinguishing relatively timeless software engineering principles that are risky not to repeat, and conditions of change under which aging practices will become increasingly risky to repeat.
Platform Independent Web Application Modeling
- in Journal on Software and Systems Modelling (SoSym). http://www.sciences.univnantes.fr/lina/atl/www/papers/netsilon_sosym.pdf
, 2003
"... Abstract This paper discusses platform independent Web application modeling and development in the context of model-driven engineering. A specific metamodel (and associated notation) is introduced and motivated for the modeling of dynamic Web specific concerns. Web applications are represented via t ..."
Abstract
-
Cited by 29 (4 self)
- Add to MetaCart
(Show Context)
Abstract This paper discusses platform independent Web application modeling and development in the context of model-driven engineering. A specific metamodel (and associated notation) is introduced and motivated for the modeling of dynamic Web specific concerns. Web applications are represented via three independent but related models (business, hypertext and presentation). A kind of action language (based on OCL and Java) is used all over these models to write methods and actions, specify constraints and express conditions. The concepts described in the paper have been implemented in the Netsilon tool and operational modeldriven Web information systems have been successfully deployed by translation from abstract models to platform specific models.
Incremental Maintenance of Software Artifacts
- Proceedings of the 21st IEEE International Conference on Software Maintenance
, 2005
"... Abstract—Software is multidimensional, but the tools that support it are not. This lack of tool support causes the software artifacts representing different dimensions to evolve independently and to become inconsistent over time. In order to properly support the evolution of software, one must ensur ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
(Show Context)
Abstract—Software is multidimensional, but the tools that support it are not. This lack of tool support causes the software artifacts representing different dimensions to evolve independently and to become inconsistent over time. In order to properly support the evolution of software, one must ensure that the different dimensions evolve concurrently. We have built a software development tool, CLIME, that uses constraints implemented as database queries to ensure just this. Our approach makes the tool responsible for detecting inconsistencies between software design, specifications, documentation, source code, test cases, and other artifacts without requiring any of these to be a primary representation. The tool works incrementally as the software evolves, without imposing a particular methodology or process. It includes a front end that lets the user explore and fix current inconsistencies. This paper describes the basis for CLIME, the techniques underlying the tool, the interface provided to the programmer, the incremental maintenance of constraints between these artifacts, and our experiences. Index Terms—Software maintenance, evolution, programming tools. 1
J.G.: Platform independent model transformation based on triple
- In: Proceddings of the 5th ACM/IFIP/USENIX International Conference on Middleware (Middleware’04
, 2004
"... Abstract Reuse is an important topic in software engineering as it promises advantages like faster time-to-market and cost reduction. Reuse of models on an abstract level is more beneficial than on the code level, because these models can be mapped into several technologies and can be adapted accor ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
(Show Context)
Abstract Reuse is an important topic in software engineering as it promises advantages like faster time-to-market and cost reduction. Reuse of models on an abstract level is more beneficial than on the code level, because these models can be mapped into several technologies and can be adapted according to different requirements. Unfortunately, development tools only provide fixed mappings between abstract models described in a language such as UML and source code for a particular technology. These mappings are based on one-to-one relationships between elements of both levels. As a consequence, it is rarely possible to customize mappings according to specific user requirements. We aim to improve model reuse by providing a framework that generates customized mappings according to specified requirements. The framework is able to handle mappings aimed for several component technologies as it is based on an ADL. It is realized in Triple to represent components on different levels of abstraction and to perform the actual transformation. It uses feature models to describe mapping alternatives.
Managing Variability Using Heterogeneous Feature Variation Patterns
- In FASE
"... Abstract. Feature-driven variability is viewed as an instance of multi-dimensional separation of concerns. We argue that feature variation con-cerns can be presented as pattern-like entities- called feature variation patterns- cross-cutting heterogeneous artifacts. We show that a feature variation p ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
(Show Context)
Abstract. Feature-driven variability is viewed as an instance of multi-dimensional separation of concerns. We argue that feature variation con-cerns can be presented as pattern-like entities- called feature variation patterns- cross-cutting heterogeneous artifacts. We show that a feature variation pattern, covering a wide range of artifact types from a feature model to implementation, can be used to manage feature-driven vari-ability in a software development process. A prototype tool environment has been developed to demonstrate the idea, supporting the specifica-tion and use of heterogeneous feature variation patterns. We illustrate the idea with a small example taken from J2EE, and further study the practical applicability of the approach in an industrial product-line. 1
Urban governance in relation to the operation of urban services in developing countries
- Habitat international
, 1997
"... Urbanisation has become a powerful force in developing countries and is a develop-ment which has taken place quickly and comparatively recently in Asia, Africa and Latin America. However, a review funded by the Ford Foundation, concluded that this phenomenon of urban growth has not been recognised a ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Urbanisation has become a powerful force in developing countries and is a develop-ment which has taken place quickly and comparatively recently in Asia, Africa and Latin America. However, a review funded by the Ford Foundation, concluded that this phenomenon of urban growth has not been recognised adequately in research and policy, or in the development programmes of international assistance agencies. Certain themes can be detected in emerging research on urbanisation: the environ-ment and sustainability; poverty; finance and the economy of cities; urban social structure; globalisation; and urban governance. The latter has been identified as crucial to the management of Third World cities and can be defined as the relation-ship between municipal/city authorities and citizens. The importance of govern-ance at a city level is reflected in the conditionality of ‘good governance ’ imposed by most donor agencies including the UK Overseas Development Administration. But what does governance mean at the city level? How is current research analysing governance? What is emerging from research on urban governance in order to identify indicators of good governance that can eventually be incorporated into a method to analyse urban governance in any Third World city? This review is descrip-tive, and deeper knowledge of the relationship between municipal authorities and citizens will be obtained only through in-depth observation and interviews. However, with growing discussion about urban governance this first step of clarifying definitions and dimensions of urban governance is vital. Copyright 0
Analysis of Compositional Conflicts in Component-Based Systems
, 2005
"... Today, incompatibilities in component specifications make their composition hard to handle in practical terms. Incompatibilities can be classified into three conflict categories: type conflicts, behavioral conflicts, and property conflicts. This paper describes a framework for the identification ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Today, incompatibilities in component specifications make their composition hard to handle in practical terms. Incompatibilities can be classified into three conflict categories: type conflicts, behavioral conflicts, and property conflicts. This paper describes a framework for the identification of compositional conflicts in component-based systems that analyses conflicts of all three categories. Furthermore, the framework supports conflict analysis from within the software development process and handles component transformations between different abstraction levels.
TOWARDS A SYSTEMATIC INTEGRATION OF MOF/UML-BASED DOMAIN-SPECIFIC MODELING LANGUAGES
"... In model-driven development (MDD), UML-based domain-specific modeling languages (DSMLs) are frequentlyusedforspecifyingsoftwaresystems. Theintegration of corresponding DSMLs is an important part of model-driven software evolution and maintenance. However, due to a wide variety of DSML design options ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
(Show Context)
In model-driven development (MDD), UML-based domain-specific modeling languages (DSMLs) are frequentlyusedforspecifyingsoftwaresystems. Theintegration of corresponding DSMLs is an important part of model-driven software evolution and maintenance. However, due to a wide variety of DSML design options, integrating DSMLs is a non-trivial task. In this paper, we discuss issues that may arise when integrating MOF/UML-based DSMLs and present a process model for the systematic integration of DSMLs to address some of these issues. In particular, we discuss different composition techniques as well as challenges that may occur in the different phases of DSML integration. In addition, we provide an example for the integration of two DSMLs from the security domain. With our process model we aim to provide a conceptual framework for the systematic integration of MOF/UML-based DSMLs. KEY WORDS Model-driven development, domain-specific modeling language, language composition, integration model, UML 1
Dealing with non-functional requirements in model-driven development
- Requirements Engineering, IEEE International Conference on
"... Abstract — The impact of non-functional requirements (NFRs) over software systems has been widely documented. Consequently, cost-effective software production method shall provide means to integrate this type of requirements into the development process. In this vision paper we analyze this assumpti ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
(Show Context)
Abstract — The impact of non-functional requirements (NFRs) over software systems has been widely documented. Consequently, cost-effective software production method shall provide means to integrate this type of requirements into the development process. In this vision paper we analyze this assumption over a particular type of software production paradigm: model-driven development (MDD). We report first the current state of MDD approaches with respect to NFRs and remark that, in general, NFRs are not addressed in MDD methods and processes, and we discuss the effects of this situation. Next, we outline a general framework that integrates NFRs into the core of the MDD process and provide a detailed comparison among all the MDD approaches considered. Last, we identify some research issues related to this framework. Keywords-non-functional requirements; model-driven development. I.