2,644,514 research outputs found
Reliability prediction in model driven development
Evaluating the implications of an architecture design early in the software development lifecycle is important in order to reduce costs of development. Reliability is an important concern with regard to the correct delivery of software
system service. Recently, the UML Profile for Modeling Quality of Service has defined a set of UML extensions to represent dependability concerns (including reliability) and other non-functional requirements in early stages of the software
development lifecycle. Our research has shown that these extensions are not comprehensive enough to support reliability analysis for model-driven software engineering,
because the description of reliability characteristics in this profile lacks support for certain dynamic aspects that are essential in modeling reliability. In this work, we define a profile for reliability analysis by extending the UML 2.0
specification to support reliability prediction based on scenario specifications. A UML model specified using the profile is translated to a labelled transition system (LTS), which is used for automated reliability prediction and identification of implied
scenarios; the results of this analysis are then fed back to the UML model. The result is a comprehensive framework for addressing software reliability modeling, including analysis and evolution of reliability predictions. We exemplify our approach using the Boiler System used in previous work and demonstrate
how reliability analysis results can be integrated into UML models
Semantic model-driven development of web service architectures.
Building service-based architectures has become a major area of interest since the advent of Web services. Modelling these architectures is a central activity. Model-driven development is a recent approach to developing software systems based on the idea of making models the central artefacts for design representation, analysis, and code generation.
We propose an ontology-based engineering methodology for semantic model-driven composition and transformation of Web service architectures. Ontology technology as a logic-based knowledge representation and reasoning framework can provide answers to the needs of sharable and reusable semantic models and descriptions needed for service engineering. Based on modelling, composition and code generation techniques for service architectures, our approach provides a methodological framework for ontology-based semantic service architecture
Towards Product Lining Model-Driven Development Code Generators
A code generator systematically transforms compact models to detailed code.
Today, code generation is regarded as an integral part of model-driven
development (MDD). Despite its relevance, the development of code generators is
an inherently complex task and common methodologies and architectures are
lacking. Additionally, reuse and extension of existing code generators only
exist on individual parts. A systematic development and reuse based on a code
generator product line is still in its infancy. Thus, the aim of this paper is
to identify the mechanism necessary for a code generator product line by (a)
analyzing the common product line development approach and (b) mapping those to
a code generator specific infrastructure. As a first step towards realizing a
code generator product line infrastructure, we present a component-based
implementation approach based on ideas of variability-aware module systems and
point out further research challenges.Comment: 6 pages, 1 figure, Proceedings of the 3rd International Conference on
Model-Driven Engineering and Software Development, pp. 539-545, Angers,
France, SciTePress, 201
RANS Turbulence Model Development using CFD-Driven Machine Learning
This paper presents a novel CFD-driven machine learning framework to develop
Reynolds-averaged Navier-Stokes (RANS) models. The CFD-driven training is an
extension of the gene expression programming method (Weatheritt and Sandberg,
2016), but crucially the fitness of candidate models is now evaluated by
running RANS calculations in an integrated way, rather than using an algebraic
function. Unlike other data-driven methods that fit the Reynolds stresses of
trained models to high-fidelity data, the cost function for the CFD-driven
training can be defined based on any flow feature from the CFD results. This
extends the applicability of the method especially when the training data is
limited. Furthermore, the resulting model, which is the one providing the most
accurate CFD results at the end of the training, inherently shows good
performance in RANS calculations. To demonstrate the potential of this new
method, the CFD-driven machine learning approach is applied to model
development for wake mixing in turbomachines. A new model is trained based on a
high-pressure turbine case and then tested for three additional cases, all
representative of modern turbine nozzles. Despite the geometric configurations
and operating conditions being different among the cases, the predicted wake
mixing profiles are significantly improved in all of these a posteriori tests.
Moreover, the model equation is explicitly given and available for analysis,
thus it could be deduced that the enhanced wake prediction is predominantly due
to the extra diffusion introduced by the CFD-driven model.Comment: Accepted by Journal of Computational Physic
A Framework for Evaluating Model-Driven Self-adaptive Software Systems
In the last few years, Model Driven Development (MDD), Component-based
Software Development (CBSD), and context-oriented software have become
interesting alternatives for the design and construction of self-adaptive
software systems. In general, the ultimate goal of these technologies is to be
able to reduce development costs and effort, while improving the modularity,
flexibility, adaptability, and reliability of software systems. An analysis of
these technologies shows them all to include the principle of the separation of
concerns, and their further integration is a key factor to obtaining
high-quality and self-adaptable software systems. Each technology identifies
different concerns and deals with them separately in order to specify the
design of the self-adaptive applications, and, at the same time, support
software with adaptability and context-awareness. This research studies the
development methodologies that employ the principles of model-driven
development in building self-adaptive software systems. To this aim, this
article proposes an evaluation framework for analysing and evaluating the
features of model-driven approaches and their ability to support software with
self-adaptability and dependability in highly dynamic contextual environment.
Such evaluation framework can facilitate the software developers on selecting a
development methodology that suits their software requirements and reduces the
development effort of building self-adaptive software systems. This study
highlights the major drawbacks of the propped model-driven approaches in the
related works, and emphasise on considering the volatile aspects of
self-adaptive software in the analysis, design and implementation phases of the
development methodologies. In addition, we argue that the development
methodologies should leave the selection of modelling languages and modelling
tools to the software developers.Comment: model-driven architecture, COP, AOP, component composition,
self-adaptive application, context oriented software developmen
Improving NDT with Automatic Test Case Generation
The model-driven development defi nes the software development process as a set of
iterations to create models and a set of transformations to obtain new models. From
this point of view, this paper presents the enhancement of a model- driven approach,
called navigational development techniques (NDT), by means of new models and
transformations in order to generate test cases. It also states some conclusions from
the research work and practical cases in which this approach was used.Ministerio de Ciencia e Innovación TIN2010-20057-C03-02Ministerio de Ciencia e Innovación TIN 2010-12312-
On Collaborative Model-driven Development of Microservices
Microservice Architecture (MSA) denotes an emerging architectural style for
distributed and service-based systems whereby each microservice is highly
cohesive and implements a single business capability. A microservice system
consists of multiple, loosely coupled microservices. It provides complex
capabilities through services interacting in choreographies. A single dedicated
team, typically practicing DevOps, is responsible for each microservice, i.e.,
it "owns" the service. However, while systems relying on MSA have several
architectural advantages especially for cloud applications, their realization
is characterized by an increased accidental complexity due to redundant
handcrafting of implementation, e.g., to make each service standalone runnable.
A promising way to cope with such complexity is the usage of Model-driven
Development (MDD) whereby models are used as first-class entities in the
software development process. Although there are already first steps taken on
how MDD could be applied by a single team to implement its microservices, the
question of how MDD can be adapted to MSA's development distribution across
multiple teams remains an issue. In this paper we envision the application of
Collaborative Model-driven Software Engineering (CMDSE) to MDD of MSA by
surveying relevant characteristics of CMDSE and identifying challenges for its
application to MSA. The present paper takes a first step towards enabling
holistic MDD of MSA across microservice teams.Comment: 8 pages, submitted to the MSE Workshop @ STAF201
A Practical Environment to Apply Model-Driven Web Engineering
The application of a model-driven paradigm in the development of Web Systems has yielded very good research
results. Several research groups are defining metamodels, transformations, and tools which offer a suitable environment,
known as model-driven Web engineering (MDWE). However, there are very few practical experiences in real
Web system developments using real development teams. This chapter presents a practical environment of MDWE
based on the use of NDT (navigational development techniques) and Java Web systems, and it provides a practical
evaluation of its application within a real project: specialized Diraya.Ministerio de Educación y Ciencia TIN2007-67843-C06-03Ministerio de Educación y Ciencia TIN2007-30391-
- …
