Using model-driven engineering to automate software language translation

被引:0
|
作者
Kevin Lano
Hanan Siala
机构
[1] King’s College London,Department of Informatics
来源
关键词
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] 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
  • [22] Automating the Customization of Model-Driven Software Engineering Environments
    Cuevas Cuesta, Cesar
    Lopez Martinez, Patricia
    Drake, Jose M.
    MODELSWARD: PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT, 2017, : 337 - 344
  • [23] Model-Driven Development and the Future of Software Engineering Education
    Cowling, Tony
    2013 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (CSEE&T), 2013, : 329 - 331
  • [24] Software Evolution in Model-driven Product Line Engineering
    Abrahao, Silvia
    Gonzalez-Huerta, Javier
    Insfran, Emilio
    Ramos, Isidro
    ERCIM NEWS, 2012, (88): : 41 - 42
  • [25] 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
  • [26] Putting performance engineering into model-driven engineering: Model-driven performance engineering
    Fritzsche, Mathias
    Johannes, Jendrik
    MODELS IN SOFTWARE ENGINEERING, 2008, 5002 : 164 - +
  • [27] Model-driven engineering of a general policy modeling language
    Kaviani, Nima
    Gasevic, Dragan
    Milanovic, Milan
    Hatala, Marek
    Mohabbati, Bardia
    2008 IEEE WORKSHOP ON POLICIES FOR DISTRIBUTED SYSTEMS AND NETWORKS, PROCEEDINGS, 2008, : 101 - +
  • [28] Model-Driven Engineering Meets Generic Language Technology
    van den Brand, M. G. J.
    SOFTWARE LANGUAGE ENGINEERING, 2009, 5452 : 8 - 15
  • [29] Model Engineering for Model-Driven Engineering
    van Lamsweerde, Axel
    EICS 2010: PROCEEDINGS OF THE 2010 ACM SIGCHI SYMPOSIUM ON ENGINEERING INTERACTIVE COMPUTING SYSTEMS, 2010, : 211 - 211
  • [30] Model-Aware Software Engineering A Knowledge-based Approach to Model-Driven Software Engineering
    Buchmann, Robert Andrei
    Cinpoeru, Mihai
    Harkai, Alisa
    Karagiannis, Dimitris
    PROCEEDINGS OF THE 13TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, 2018, : 233 - 240