Abstract-Code generation is widely used to make software development more efficient and less prone to human errors. A significant use case of code generation is processing of Domain-Specific Languages (DSLs) and Domain-Specific Models (DSMs). Sometimes, it is desired to generate semantically equivalent or similar functionality to different languages to better support multiple platforms and achieve better reuse in the tooling. For example, it is convenient if a single tool supports code generating from a DSM to either Java or C#. There has been relevant research on using modeling and model transformations for code generation to multiple platforms. The Model-Driven Architecture (MDA) inherently supports multi-platform code generation based on models. Nevertheless, the MDA standard is a high-level general framework that includes standards, notions and principles but does not specify more concrete methods or workflows about their efficient adoption. Our research focuses on the efficient and practically usable application of MDA principles to generate multi-platform code. This paper reports on our results on multi-platform code generation and the difficulties that we are about to addressed in future research. The approach and the challenges presented in the paper are useful for tool developers, such as developers of DSLs, who generates code for several platforms.
Abstract-Model-Driven Software Engineering (MDSE) has put a great emphasis on modeling to deal with the rapidly growing complexity of software systems. This leads to that models become more complex and detailed as they evolve. In contrast to the vision that such models are able to deal with this complexity, there are several cases in which simple models better support the requirements. In this paper, three technology trends are presented. The success of these trends lays in using lightweight models. Of course, inherently complex systems tend to use complex models but the main goal is to focus modeling on supporting requirements and avoid adding unnecessary details. After the explanation of the technology trends, their key success factors are identified. By these success factors, we outline some considerations that facilitate maintaining the complexity of models low.Index Terms-Modeling, model-driven software engineering, agility. I. INTRODUCTION Model-Driven Software Engineering (MDSE)is a widely applied method in software engineering, which uses the model as a first-class artifact in the engineering process. The model is leveraged in software development instead of focusing on algorithmic concepts. The Model-Driven Architecture (MDA) methodology, standardized by the Object Management Group (OMG) even tries to avoid programming in the conventional sense and use modeling instead as a primary means of software development. The expansion of these technologies has emphasized the importance of the model. Nowadays, there is a big effort in creating more accurate and complete models. Often we ask ourselves, how we efficiently model problem domain D to capture all of the significant details.At the same time, complexity of software systems grows at a rapid pace. The result of this is that models become always bigger and more complex. Their purpose is to facilitate software development but big and complex models are very rigid and make future changes difficult. They also have a negative impact on scalability [3]. There is ongoing research on how to deal with distributed models and parallelized
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.