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 条
  • [21] Development of Augmented Reality Training Simulator Systems for Neurosurgery Using Model-Driven Software Engineering
    Ghandorh, Hamza
    Mackenzie, Justin
    Eagleson, Roy
    de Ribaupierre, Sandrine
    2017 IEEE 30TH CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING (CCECE), 2017,
  • [22] Continuous Model-Driven Engineering
    Margaria, Tiziana
    Steffen, Bernhard
    COMPUTER, 2009, 42 (10) : 106 - 109
  • [23] A framework for Model-Driven Engineering of resilient software-controlled systems
    Jacopo Parri
    Fulvio Patara
    Samuele Sampietro
    Enrico Vicario
    Computing, 2021, 103 : 589 - 612
  • [24] Agile model-driven re-engineering
    Lano, Kevin
    Haughton, Howard
    Yuan, Ziwen
    Alfraihi, Hessa
    INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2024, 20 (04) : 559 - 584
  • [25] Using DevOps toolchains in Agile model-driven engineering
    Jörn Guy Süß
    Samantha Swift
    Eban Escott
    Software and Systems Modeling, 2022, 21 : 1495 - 1510
  • [26] Using DevOps toolchains in Agile model-driven engineering
    Suess, Joern Guy
    Swift, Samantha
    Escott, Eban
    SOFTWARE AND SYSTEMS MODELING, 2022, 21 (04) : 1495 - 1510
  • [27] A Model-Driven Engineering Workbench for CAEX Supporting Language Customization and Evolution
    Mayerhofer, Tanja
    Wimmer, Manuel
    Berardinelli, Luca
    Drath, Rainer
    IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, 2018, 14 (06) : 2770 - 2779
  • [28] The Need for Model-driven Engineering in the Development of IoT Software for Public Transportation Systems
    Arslan, Sadik
    Kardas, Geylani
    2021 15TH TURKISH NATIONAL SOFTWARE ENGINEERING SYMPOSIUM (UYMS), 2021, : 158 - 163
  • [29] Collaborative Model-Driven Software Engineering - A systematic survey of practices and needs in industry?
    David, Istvan
    Aslam, Kousar
    Malavolta, Ivano
    Lago, Patricia
    JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 199
  • [30] ANALYZING MOBILE APPLICATION SOFTWARE POWER CONSUMPTION VIA MODEL-DRIVEN ENGINEERING
    Thompson, Chris
    Schmidt, Douglas
    Turner, Hamilton
    White, Jules
    PECCS 2011: PROCEEDINGS OF THE 1ST INTERNATIONAL CONFERENCE ON PERVASIVE AND EMBEDDED COMPUTING AND COMMUNICATION SYSTEMS, 2011, : 101 - 113