Using model-driven engineering to automate software language translation

被引:0
|
作者
Kevin Lano
Hanan Siala
机构
[1] King’s College London,Department of Informatics
来源
Automated Software Engineering | 2024年 / 31卷
关键词
Program translation; Model-driven engineering; Re-engineering; Reverse engineering;
D O I
暂无
中图分类号
学科分类号
摘要
The porting or translation of software applications from one programming language to another is a common requirement of organisations that utilise software, and the increasing number and diversity of programming languages makes this capability as relevant today as in previous decades. Several approaches have been used to address this challenge, including machine learning and the manual definition of direct language-to-language translation rules, however the accuracy of these approaches remains unsatisfactory. In this paper we describe a new approach to program translation using model-driven engineering techniques: reverse-engineering source programs into specifications in the UML and OCL formalisms, and then forward-engineering the specifications to the required target language. This approach can provide assurance of semantic preservation, and additionally has the advantage of extracting precise specifications of software from code. We provide an evaluation based on a comprehensive dataset of examples, including industrial cases, and compare our results to those of other approaches and tools. Our specific contributions are: (1) Reverse-engineering source programs to detailed semantic models of software behaviour, to enable semantically-correct translations and reduce re-testing costs; (2) Program abstraction processes defined by precise and explicit rules, which can be edited and configured by users; (3) A set of reusable OCL library components appropriate for representing program semantics, and which can also be used for OCL specification of new applications; (4) A systematic procedure for building program abstractors based on language grammars and semantics.
引用
收藏
相关论文
共 50 条
  • [1] Using model-driven engineering to automate software language translation
    Lano, Kevin
    Siala, Hanan
    AUTOMATED SOFTWARE ENGINEERING, 2024, 31 (01)
  • [2] Software Development Tools in Model-Driven Engineering
    Jacome-Guerrero, Santiago P.
    Ferreira, Juan M.
    Corral, Alexandra
    2017 5TH INTERNATIONAL CONFERENCE IN SOFTWARE ENGINEERING RESEARCH AND INNOVATION (CONISOFT 2017), 2017, : 140 - 148
  • [3] Language Architecture: An Architecture Language for Model-Driven Engineering
    Brouwers, Niels
    Hamilton, Marc
    Kurtev, Ivan
    Luo, Yaping
    MODELSWARD: PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT, 2017, : 147 - 156
  • [4] Using Software Product Lines to Manage Model Families in Model-Driven Engineering
    Avila-Garcia, Orlando
    Estevez Garcia, Antonio
    Sanchez Rebull, E. Victor
    APPLIED COMPUTING 2007, VOL 1 AND 2, 2007, : 1006 - 1011
  • [5] Exploring model-driven engineering method for teaching software engineering
    Ma, Kun
    Teng, Hao
    Du, Lixin
    Zhang, Kun
    INTERNATIONAL JOURNAL OF CONTINUING ENGINEERING EDUCATION AND LIFE-LONG LEARNING, 2016, 26 (03) : 294 - 308
  • [6] Collaborative Model-Driven Software Engineering: A Systematic Update
    David, Istvan
    Aslam, Kousar
    Faridmoayer, Sogol
    Malavolta, Ivano
    Syriani, Eugene
    Lago, Patricia
    24TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS 2021), 2021, : 273 - 284
  • [7] Envisioning the Future of Collaborative Model-Driven Software Engineering
    Di Ruscio, Davide
    Franzago, Mirco
    Muccini, Henry
    Malavolta, Ivano
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 219 - 221
  • [8] Applying model-driven engineering in small software enterprises
    Sanchez Cuadrado, Jesus
    Izquierdo, Javier Luis Canovas
    Garcia Molina, Jesus
    SCIENCE OF COMPUTER PROGRAMMING, 2014, 89 : 176 - 198
  • [9] On the use of large language models in model-driven engineering
    Di Rocco, Juri
    Di Ruscio, Davide
    Di Sipio, Claudio
    Nguyen, Phuong T.
    Rubei, Riccardo
    SOFTWARE AND SYSTEMS MODELING, 2025, : 923 - 948
  • [10] Model-Driven Engineering and Safety-Critical Embedded Software
    Shukla, Sandeep K.
    COMPUTER, 2009, 42 (09) : 93 - 95