Results 1 - 10
of
60
A survey of software refactoring
- IEEE Transactions on Software Engineering
, 2004
"... Abstract—This paper provides an extensive overview of existing research in the field of software refactoring. This research is compared and discussed based on a number of different criteria: the refactoring activities that are supported, the specific techniques and formalisms that are used for suppo ..."
Abstract
-
Cited by 299 (10 self)
- Add to MetaCart
(Show Context)
Abstract—This paper provides an extensive overview of existing research in the field of software refactoring. This research is compared and discussed based on a number of different criteria: the refactoring activities that are supported, the specific techniques and formalisms that are used for supporting these activities, the types of software artifacts that are being refactored, the important issues that need to be taken into account when building refactoring tool support, and the effect of refactoring on the software process. A running example is used throughout the paper to explain and illustrate the main concepts. Index Terms—Coding tools and techniques, programming environments/construction tools, restructuring, reverse engineering, and reengineering. 1
An algebraic semantics for mof
- Formal Asp. Comput
, 2010
"... Abstract. Model-driven development is a field within software engi-neering in which software artifacts are represented as models in order to improve productivity, quality, and cost effectiveness. In this field, the Meta-Object Facility (MOF) standard plays a crucial role by provid-ing a generic fram ..."
Abstract
-
Cited by 31 (4 self)
- Add to MetaCart
(Show Context)
Abstract. Model-driven development is a field within software engi-neering in which software artifacts are represented as models in order to improve productivity, quality, and cost effectiveness. In this field, the Meta-Object Facility (MOF) standard plays a crucial role by provid-ing a generic framework where the abstract syntax of different modeling languages can be defined. In this work, we present a formal, algebraic semantics of the MOF standard in membership equational logic (mel). By using the Maude language, which directly supports mel specifica-tions, this formal semantics is furthermore executable, and can be used to perform useful formal analyses. The executable algebraic framework for MOF obtained this way has been integrated within the Eclipse Modeling Framework as a plugin. In this way, formal analyses, such as semantic consistency checks, become available within Eclipse to provide formal support for model-driven development processes. Key words: MOF, model-driven development, membership equational logic, metamodeling semantics, reflection. 1
Can Programming be Liberated from the Two-Level Style? Multi-Level Programming with DeepJava
, 2007
"... Since the introduction of object-oriented programming few programming languages have attempted to provide programmers with more than objects and classes, i.e., more than two levels. Those that did, almost exclusively aimed at describing language properties—i.e., their metaclasses exert linguistic co ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
(Show Context)
Since the introduction of object-oriented programming few programming languages have attempted to provide programmers with more than objects and classes, i.e., more than two levels. Those that did, almost exclusively aimed at describing language properties—i.e., their metaclasses exert linguistic control on language concepts and mechanisms— often in order to make the language extensible. In terms of supporting logical domain classification levels, however, they are still limited to two levels. In this paper we conservatively extend the object-oriented programming paradigm to feature an unbounded number of domain classification levels. We can therefore avoid the introduction of accidental complexity into programs caused by accommodating multiple domain levels within only two programming levels. We present a corresponding language design featuring “deep instantiation ” and demonstrate its features with a running example. Finally, we outline the implementation of our compiler prototype and discuss the potentials of further developing our language design.
D.: „Enterprise Model Integration
- Proceedings of the 4th International Conference EC-Web 2003 – DEXXA 2003
, 2003
"... Abstract. Due to rapid changing business requirements the complexity in developing enterprise-spanning applications is continually growing. A vital field of delivering technical concepts and technologies for integrating heterogeneous applications and components to support inter-organisational busine ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
(Show Context)
Abstract. Due to rapid changing business requirements the complexity in developing enterprise-spanning applications is continually growing. A vital field of delivering technical concepts and technologies for integrating heterogeneous applications and components to support inter-organisational business processes is the area of Enterprise Application Integration (EAI). A common characteristic of all EAI approaches is their focus on technical and runtime aspects of integration. From our project experiences in developing large B2B applications, it is necessary to integrate applications on the business and conceptual level as well. Because of the diversity of models and modelling languages for developing enterprise applications, we propose the Enterprise Model Integration (EMI) approach. In this paper we describe basic concepts of EMI, a pattern system for metamodel integration, and a case study applying EMI for developing B2B applications. The EMI approach is compatible with the MDA infrastructure and
Meronymy-based Aggregation of Activities in Business Process Models
"... Abstract. As business process management is increasingly applied in practice, more companies document their operations in the form of process models. Since users require descriptions of one process on various levels of detail, there are often multiple models created for the same process. Business pr ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
(Show Context)
Abstract. As business process management is increasingly applied in practice, more companies document their operations in the form of process models. Since users require descriptions of one process on various levels of detail, there are often multiple models created for the same process. Business process model abstraction emerged as a technique reducing the number of models to be stored: given a detailed process model, business process model abstraction delivers abstract representations for the same process. A key problem in many abstraction scenarios is the transition from detailed activities in the initial model to coarse-grained activities in the abstract model. This transition is realized by an aggregation operation clustering multiple activities to a single one. So far, humans decide on how to aggregate, which is expensive. This paper presents a semi-automated approach to activity aggregation that reduces the human effort significantly. The approach takes advantage of an activity meronymy relation, i.e., part-of relation defined between activities. The approach is semi-automated, as it proposes sets of meaningful aggregations, while the user still decides. The approach is evaluated by a real-world use case. 1
Model Transformation By-Example: A Survey of the First Wave,
, 2012
"... Abstract. Model-Driven Engineering (MDE) places models as firstclass artifacts throughout the software lifecycle. In this context, model transformations are crucial for the success of MDE, being comparable in role and importance to compilers for high-level programming languages. Thus, several model ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
(Show Context)
Abstract. Model-Driven Engineering (MDE) places models as firstclass artifacts throughout the software lifecycle. In this context, model transformations are crucial for the success of MDE, being comparable in role and importance to compilers for high-level programming languages. Thus, several model transformation approaches have been developed in the last decade, whereby originally most of them are based on the abstract syntax of modeling languages. However, this implementation specific focus makes it difficult for modelers to develop model transformations, because they are familiar with the concrete syntax but not with its computer internal representation. To tackle this problem, model transformation by-example approaches have been proposed which follow the same fundamental idea as query by-example and programming by-example approaches. Instead of using the computer internal representation of models, examples represented in concrete syntax are used to define transformations. Because different transformation scenarios occur in MDE, different by-example approaches have been developed. This chapter gives an overview on the emerging concepts, techniques, and approaches in this young by-example area.
An Overview of Quality Frameworks in Model-Driven Engineering and Observations on Transformation Quality
"... Abstract. Quality is often defined as fitness for purpose which is the key property to determine when evaluating quality. This paper presents some general requirements for evaluating quality frameworks. It also discusses characteristics of MDE that are important when building a quality framework, su ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
(Show Context)
Abstract. Quality is often defined as fitness for purpose which is the key property to determine when evaluating quality. This paper presents some general requirements for evaluating quality frameworks. It also discusses characteristics of MDE that are important when building a quality framework, such as its use of models in several stages of development and maintenance, and its multi-abstraction level approach that requires consistency and traceability. MDE should strive for engineering of quality into software. As a step in extending quality frameworks for this purpose, we discuss integrating quality evaluation with quality engineering using MDE approaches. Applying it on transformations, we discuss both the transformability of models and the quality of transformations themselves. While completeness and precision of models are quality criteria for transformability of them, transformations should monitor and preserve model quality, be reusable, simple and efficient. We further discuss quality means and evaluation methods and propose future work. Keywords: Model-driven engineering, quality, transformation, metrics 1
Model-driven analysis and synthesis of textual concrete syntax
- SOFTW SYST MODEL
"... Meta-modeling is raising more and more interest in the field of language engineering. While this approach is now well understood for defining abstract syntaxes, formally defining textual concrete syntaxes with meta-models is still a challenge. Textual concrete syntaxes are traditionally expressed w ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
(Show Context)
Meta-modeling is raising more and more interest in the field of language engineering. While this approach is now well understood for defining abstract syntaxes, formally defining textual concrete syntaxes with meta-models is still a challenge. Textual concrete syntaxes are traditionally expressed with rules, conforming to EBNF-like grammars, which can be processed by compiler compilers to generate parsers. Unfortunately, these generated parsers produce concrete syntax trees, leaving a gap with the abstract syntax defined by meta-models, and further ad hoc hand-coding is required. In this paper we propose a new kind of specification for concrete syntaxes, which takes advantage of meta-models to generate fully operational tools (such as parsers or text generators). The principle is to map abstract syntaxes to
Metamodel-aware textual concrete syntax specification
- Swiss Federal Institute of Technology in
, 2006
"... Metamodeling is raising more and more interest in the field of language engineering. While this approach is now well understood for the definition of abstract syntaxes, the formal definition of concrete syntaxes is still a challenge. Concrete syntaxes are traditionally expressed with rules, conformi ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
(Show Context)
Metamodeling is raising more and more interest in the field of language engineering. While this approach is now well understood for the definition of abstract syntaxes, the formal definition of concrete syntaxes is still a challenge. Concrete syntaxes are traditionally expressed with rules, conforming to EBNF-like grammars, which can be processed by compiler compilers to generate parsers. Unfortunately, these syntax defined by metamodels. This gap is usually filled by time consuming ad-hoc hand-coding. In this paper we propose a new kind of specification for concrete syntaxes that takes advantage of metamodels to generate tools (such as parsers or text generators) which directly manipulate abstract syntax trees. The principle is to map abstract syntaxes to concrete syntaxes via EBNF-like rules that explain how to render an abstract concept into a given concrete syntax, and how to trigger other rules to handle the properties of the concepts. The major difference with EBNF is that rules may have sub-rules, which can be automatically triggered based on the inheritance hierarchy of the abstract syntax concepts. Key words: abstract concrete syntax mapping, metamodeling,
Silaghi R.: Defining model driven engineering processes
- In 3rd Workshop in Software Model Engineering (WISME @ UML 2004
, 2003
"... Software engineering techniques made it possible for de-velopers to build larger, and more accurate, reliable, and maintainable software-intensive systems. This was essen-tially possible by introducing techniques for raising the lev-el of abstraction for describing the problem and its solution, and ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
(Show Context)
Software engineering techniques made it possible for de-velopers to build larger, and more accurate, reliable, and maintainable software-intensive systems. This was essen-tially possible by introducing techniques for raising the lev-el of abstraction for describing the problem and its solution, and by clearly establishing a methodology to define both the problem and how to move to its solution. Model Driven En-gineering (MDE) targets precisely at organizing such levels of abstraction and methodologies. It encourages developers to use models to describe both the problem and its solution at different levels of abstraction, and provides a framework for methodologists to define what model to use at a given moment (i.e., at a given level of abstraction), and how to lower the level of abstraction by defining the relationship between the participating models. Such an MDE process is supposed to be defined by means of assets, and methodolo-gists have the duty to provide such assets. However, it is not yet clear what exactly these assets are, despite the fact that techniques to express them have already been widely stud-ied. This position paper addresses this issue by identifying some of the MDE assets that have to be provided, and shows how they should be defined in order to enable them to par-ticipate in different MDE process definitions.