376,079 research outputs found
Semantic model-driven development of service-centric software architectures
Service-oriented architecture (SOA) is a recent architectural paradigm that has received much attention. The prevalent focus on platforms such as Web services, however, needs to be complemented by appropriate software engineering methods. We propose the model-driven development of service-centric software systems. We present in particular an investigation into the role of enriched semantic modelling for a modeldriven development framework for service-centric software systems. Ontologies as the foundations of semantic modelling and its enhancement
through architectural pattern modelling are at the core of the proposed approach. We introduce foundations and discuss the benefits and also the challenges in this context
A personal retrospective on language workbenches
Model-driven software engineering and specifically domain-specific languages have contributed to improve the quality of software and the efficiency in the development of software. However, the design and implementation of domain-specific languages requires still an enormous investment. Language workbenches are the most important tools in the field of software language engineering. The introduction of language workbenches has alleviated partly the development effort, but there are still a few major challenges that need to be tackled. This paper presents a personal perspective on the development of tools for language engineering and language workbenches in particular and future challenges to be tackled.</p
Engineering bidirectional transformations
Bidirectional transformations, like software, need to be carefully engineered in order to provide guarantees about their correctness, completeness, acceptability and usability. This paper summarises a collection of lectures pertaining to engineering bidirectional transformations using Model-Driven Engineering techniques and technologies. It focuses on stages of a typical engineering lifecycle, starting with requirements and progressing to implementation and verification. It summarises Model-Driven Engineering approaches to capturing requirements, architectures and designs for bidirectional transformations, and suggests an approach for verification as well. It concludes by describing some challenges for future research into engineering bidirectional transformations
Bridging the gap between research and agile practice: an evolutionary model
There is wide acceptance in the software engineering field that industry and research can gain significantly from each other and there have been several initiatives to encourage collaboration between the two. However there are some often-quoted challenges in this kind of collaboration. For example, that the timescales of research and practice are incompatible, that research is not seen as relevant for practice, and that research demands a different kind of rigour than practice supports. These are complex challenges that are not always easy to overcome. Since the beginning of 2013 we have been using an approach designed to address some of these challenges and to bridge the gap between research and practice, specifically in the agile software development arena. So far we have collaborated successfully with three partners and have investigated three practitioner-driven challenges with agile. The model of collaboration that we adopted has evolved with the lessons learned in the first two collaborations and been modified for the third. In this paper we introduce the collaboration model, discuss how it addresses the collaboration challenges between research and practice and how it has evolved, and describe the lessons learned from our experience
Towards Consistency Management for a Business-Driven Development of SOA
The usage of the Service Oriented Architecture
(SOA) along with the Business Process Management has emerged
as a valuable solution for the complex (business process driven)
system engineering. With a Model Driven Engineering where the
business process models drive the supporting service component
architectures, less effort is gone into the Business/IT alignment
during the initial development activities, and the IT developers
can rapidly proceed with the SOA implementation. However, the
difference between the design principles of the emerging domainspecific
languages imposes serious challenges in the following
re-design phases. Moreover, enabling evolutions on the business
process models while keeping them synchronized with the underlying
software architecture models is of high relevance to the key
elements of any Business Driven Development (BDD). Given a
business process update, this paper introduces an incremental
model transformation approach that propagates this update
to the related service component configurations. It, therefore,
supports the change propagation among heterogenous domainspecific
languages, e.g., the BPMN and the SCA. As a major
contribution, our approach makes model transformation more
tractable to reconfigure system architecture without disrupting its
structural consistency. We propose a synchronizer that provides
the BPMN-to-SCA model synchronization with the help of the
conditional graph rewriting
Model-driven engineering for mobile robotic systems: a systematic mapping study
Mobile robots operate in various environments (e.g. aquatic, aerial, or terrestrial), they come in many diverse shapes and they are increasingly becoming parts of our lives. The successful engineering of mobile robotics systems demands the interdisciplinary collaboration of experts from different domains, such as mechanical and electrical engineering, artificial intelligence, and systems engineering. Research and industry have tried to tackle this heterogeneity by proposing a multitude of model-driven solutions to engineer the software of mobile robotics systems. However, there is no systematic study of the state of the art in model-driven engineering (MDE) for mobile robotics systems that could guide research or practitioners in finding model-driven solutions and tools to efficiently engineer mobile robotics systems. The paper is contributing to this direction by providing a map of software engineering research in MDE that investigates (1) which types of robots are supported by existing MDE approaches, (2) the types and characteristics of MRSs that are engineered using MDE approaches, (3) a description of how MDE approaches support the engineering of MRSs, (4) how existing MDE approaches are validated, and (5) how tools support existing MDE approaches. We also provide a replication package to assess, extend, and/or replicate the study. The results of this work and the highlighted challenges can guide researchers and practitioners from robotics and software engineering through the research landscape
Industry Best Practices in Robotics Software Engineering
Robotics software is pushing the limits of software engineering practice. The
3rd International Workshop on Robotics Software Engineering held a panel on
"the best practices for robotic software engineering". This article shares the
key takeaways that emerged from the discussion among the panelists and the
workshop, ranging from architecting practices at the NASA/Caltech Jet
Propulsion Laboratory, model-driven development at Bosch, development and
testing of autonomous driving systems at Waymo, and testing of robotics
software at XITASO. Researchers and practitioners can build on the contents of
this paper to gain a fresh perspective on their activities and focus on the
most pressing practices and challenges in developing robotics software today.Comment: 10 pages, 0 figure
Model-Driven Engineering for Big Data
Accessing heterogeneous and huge amount of data through different sources heavily impacts users of data nowadays worldwide. Thus, Big Data has now become a hot emerging paradigm in computing environments. Issues in scalability, interoperability, platform independency, adaptability and reusability in big data systems are considered the main current challenges. This raises the need for appropriate software engineering approaches to develop effective and efficient Big Data system models, i.e. an approach which reduce investment cost and development time. Today, software engineering has emerged advanced methodologies to solve problems from different perspectives, while still further research is needed to overcome new challenges raised in emerging technologies, i.e. Big Data. Thus, the author believe model-driven engineering technique is the appropriate approach to alleviate complexities in modeling Big Data system
Quality Assurance in MLOps Setting: An Industrial Perspective
Today, machine learning (ML) is widely used in industry to provide the core
functionality of production systems. However, it is practically always used in
production systems as part of a larger end-to-end software system that is made
up of several other components in addition to the ML model. Due to production
demand and time constraints, automated software engineering practices are
highly applicable. The increased use of automated ML software engineering
practices in industries such as manufacturing and utilities requires an
automated Quality Assurance (QA) approach as an integral part of ML software.
Here, QA helps reduce risk by offering an objective perspective on the software
task. Although conventional software engineering has automated tools for QA
data analysis for data-driven ML, the use of QA practices for ML in operation
(MLOps) is lacking. This paper examines the QA challenges that arise in
industrial MLOps and conceptualizes modular strategies to deal with data
integrity and Data Quality (DQ). The paper is accompanied by real industrial
use-cases from industrial partners. The paper also presents several challenges
that may serve as a basis for future studies.Comment: Accepted in ISE2022 of the 29th Asia-Pacific Software Engineering
Conference (APSEC 2022
A Process Model for Component-Based Model-Driven Software Development
Developing high quality, reliable and on time software systems is challenging due to the increasing size and complexity of these systems. Traditional software development approaches are not
suitable for dealing with such challenges, so several approaches have been introduced to increase the productivity and reusability during the software development process. Two of these approaches are
Component-Based Software Engineering (CBSE) and Model-Driven Software Development (MDD) which focus on reusing pre-developed code and using models throughout the development process
respectively. There are many research studies that show the benefits of using software components and model-driven approaches. However, in many cases the development process is either ad-hoc or
not well-defined. This paper proposes a new software development process model that merges CBSE and MDD principles to facilitate software development. The model is successfully tested by applying
it to the development of an e-learning system as an exemplar case stud
- …