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 条
  • [41] Single-state state machines in model-driven software engineering: an exploratory study
    Nan Yang
    Pieter Cuijpers
    Ramon Schiffelers
    Johan Lukkien
    Alexander Serebrenik
    Empirical Software Engineering, 2021, 26
  • [42] Single-state state machines in model-driven software engineering: an exploratory study
    Yang, Nan
    Cuijpers, Pieter
    Schiffelers, Ramon
    Lukkien, Johan
    Serebrenik, Alexander
    EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (06)
  • [43] Model-Driven Software Engineering in Practice: Privacy-Enhanced Filtering of Network Traffic
    van Dijk, Roel
    Creeten, Christophe
    van der Ham, Jeroen
    van den Bos, Jeroen
    ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, : 860 - 865
  • [44] Model-driven engineering of process control software - beyond device-centric abstractions
    Lukman, Tomaz
    Godena, Giovanni
    Gray, Jeff
    Hericko, Marjan
    Strmcnik, Stanko
    CONTROL ENGINEERING PRACTICE, 2013, 21 (08) : 1078 - 1096
  • [45] A Systematic Literature Review of Model-Driven Engineering Using Machine Learning
    Marcen, Ana C.
    Iglesias, Antonio
    Lapena, Raul
    Perez, Francisca
    Cetina, Carlos
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (09) : 2269 - 2293
  • [46] Conciliating Model-Driven Engineering with Technical Debt Using a Quality Framework
    Giraldo, Faber D.
    Espana, Sergio
    Pineda, Manuel A.
    Giraldo, William J.
    Pastor, Oscar
    INFORMATION SYSTEMS ENGINEERING IN COMPLEX ENVIRONMENTS, 2015, 204 : 199 - 214
  • [47] Using the ModelSet Dataset to Support Machine Learning in Model-Driven Engineering
    Hernandez Lopez, Jose Antonio
    Canovas Izquierdo, Javier Luis
    Sanchez Cuadrado, Jesus
    ACM/IEEE 25TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2022 COMPANION, 2022, : 66 - 70
  • [48] Incremental Model Transformation with Epsilon in Model-Driven Engineering
    Ghorbani, Marzieh
    Sharbaf, Mohammadreza
    Zamani, Bahman
    ACTA INFORMATICA PRAGENSIA, 2022, 11 (02) : 179 - 204
  • [49] Type inference in flexible model-driven engineering using classification algorithms
    Zolotas, Athanasios
    Matragkas, Nicholas
    Devlin, Sam
    Kolovos, Dimitrios S.
    Paige, Richard F.
    SOFTWARE AND SYSTEMS MODELING, 2019, 18 (01) : 345 - 366
  • [50] Type inference in flexible model-driven engineering using classification algorithms
    Athanasios Zolotas
    Nicholas Matragkas
    Sam Devlin
    Dimitrios S. Kolovos
    Richard F. Paige
    Software & Systems Modeling, 2019, 18 : 345 - 366