School of Computing
Total Page:16
File Type:pdf, Size:1020Kb
SCHOOL OF COMPUTING The 15th Overture Workshop: New Capabilities and Applications for Model-based Systems Engineering J. S. Fitzgerald, P. W. V. Tran-Jørgensen, and T. Oda (Editors) TECHNICAL REPORT SERIES No. CS-TR- 1513-2017 TECHNICAL REPORT SERIES No. CS-TR- 1513 October, 2017 The 15th Overture Workshop: New Capabilities and Applications for Model-based Systems Engineering J. S. Fitzgerald, P. W. V. Tran-Jørgensen, and T. Oda Abstract The 15th in the “Overture" series”of workshops on the Vienna Development Method (VDM), its associated tools and applications, was held at Newcastle University, UK, on 15th September, 2017. The workshop provided a forum for discussing and advancing the state of the art in formal modelling and analysis using VDM and its family of associated formalisms including extensions for describing distributed, real-time and cyber-physical systems. The workshop reflected the breadth and depth of work supporting and applying VDM. Contributions covered topics as diverse as architectural frameworks of autonomous Cyber-Physical Systems, tool building techniques such as interpreter design, automated code generation, testing and debugging and case studies of formal modelling and tool migration. Keywords: model-based engineering, formal methods, VDM © 2017 Newcastle University. Printed and published by Newcastle University, School of Computing, Urban Sciences Building, Newcastle upon Tyne, NE4 5TG, England. Bibliographical details Title and Authors NEWCASTLE UNIVERSITY School of Computing. Technical Report Series. CS-TR- 1513 Abstract: The 15th in the “Overture" series” of workshops on the Vienna Development Method (VDM), its associated tools and applications, was held at Newcastle University, UK, on 15th September, 2017. The workshop provided a forum for discussing and advancing the state of the art in formal modelling and analysis using VDM and its family of associated formalisms including extensions for describing distributed, real-time and cyber-physical systems. The workshop reflected the breadth and depth of work supporting and applying VDM. Contributions covered topics as diverse as architectural frameworks of autonomous Cyber-Physical Systems, tool building techniques such as interpreter design, automated code generation, testing and debugging and case studies of formal modelling and tool migration. About the authors: John S Fitzgerald, PhD, FBCS is Professor of Formal Methods in Computing Science at Newcastle University. Peter W. V. Tran-Jorgensen, PhD, is a postdoctoral research Scientist with the Department of Engineering at Aarhus University, Denmark. Tomohiro Oda, PhD, is a Formal Specification Engineer with Software Research Associates, Inc. Suggested keywords: Keywords: model-based engineering, formal methods, VDM Proceedings of the 15th Overture Workshop The 15th in the \Overture" series of workshops on the Vienna Development Method (VDM), its tools and applications, was held at Newcastle University, UK, on the 15th September 2017. The workshop provided a forum for discussing and advancing the state of the art in formal modelling and analysis using VDM and its associated formalisms in- cluding extensions for distributed, real-time and cyber-physical systems. VDM is one of the longest established formal methods, and has a lively community of re- searchers and practitioners in academia and industry that has grown around the modelling languages VDM-SL, VDM++, VDM-RT, and CML. Research in VDM and Overture is driven by the need to develop industry practice as well as fundamental theory. Conse- quently, the provision of tool support has been a priority for many years. Starting from VDMTools and the Overture platform, the Overture initiative provides a community and open technical platform for developing in modelling and analysis technology, including static analysis, interpreters, test generation, execution support and model checking. The fruit of the initiative in recent years has included industry-strength tools for co-modelling and co-simulation in embedded systems design (Crescendo), System-of-Systems modelling, verification and testing (Symphony), and latterly design of cyber-physical systems (INTO- CPS). At the time of writing, the tools are being applied in the INTO-CPS project as well as the TEMPO, CPSBuDi and iPP4CPPS experiments supported by the CPSE-Labs project. The communitys growth has been greatly assisted by the Overture workshop series. The 15th Workshop reflected the breadth and depth of work supporting and applying VDM. Contributions covered topics as diverse as architectural frameworks of autonomous cyber- physical systems, tool building techniques such as interpreter design, automated code generation, testing and debugging and case studies of formal modelling and tool migra- tion. A special session was led by Graeme Young of Newcastle University, including a structured discussion on future exploitation of Overture technology. We would like to thank the authors, PC members, reviewers and participants for their help in making this a valuable and successful workshop. John Fitzgerald Peter W. V. Tran-Jørgensen Tomohiro Oda Program Committee Keijiro Araki, Kyushu University, Japan • Nick Battle, Fujitsu, United Kingdom • Luis Diogo Couto, UTRC, Ireland • John Fitzgerald, Newcastle University, United Kingdom (Chair) • Peter Gorm Larsen, Aarhus University, Denmark • Fuyuki Ishikawa, National Institute of Informatics, Japan • Nico Plat, Thanos, The Netherlands • Peter W. V. Tran-Jørgensen, Aarhus University, Denmark (Chair) • Tomohiro Oda, Software Research Associates, Inc., Japan (Chair) • Paolo Masci, Universidade do Minho, Portugal • Kenneth Pierce, Newcastle University, United Kingdom • Marcel Verhoef, European Space Agency, The Netherlands • Sune Wolff, Unity, Denmark • Table of Contents Code-generating VDM for Embedded Devices ....................................1 • Victor Bandur, Peter W. V. Tran-Jørgensen, Miran Hasanagi´c, and Kenneth Lausdahl Transitioning from Crescendo to INTO-CPS ...................................16 • Kenneth Lausdahl, Kim Bjerge, Tom Bokhove, Frank Groen, and Peter Gorm Larsen Modelling Network Connections in FMI with an Explicit Network Model . 31 • Luis Diogo Couto and Ken Pierce Towards Multi-Models for Self-* Cyber-Physical Systems .......................44 • Hansen Salim and John Fitzgerald Debugging Auto-Generated Code with Source Specification • in Exploratory Modeling .......................................................59 Tomohiro Oda, Keijiro Araki, and Peter Gorm Larsen Automated Test Procedure Generation from Formal Specifications . 74 • Tomoyuki Myojin and Fuyuki Ishikawa Automated Generation of Decision Table and Boundary Values • from VDM++ Specification ....................................................89 Hiroki Tachiyama, Tetsuro Katayama, and Tomohiro Oda Analysis Separation without Visitors ..........................................104 • Nick Battle A Discrete Event-first Approach to Collaborative Modelling • of Cyber-Physical Systems ....................................................116 Mihai Neghina, Constantin-Bala Zamfirescu, Peter Gorm Larsen, Kenneth Lausdahl, and Ken Pierce The Mars-Rover Case Study Modelled Using INTO-CPS . 130 • Sergio Feo-Arenis, Marcel Verhoef, and Peter Gorm Larsen Code-generating VDM for Embedded Devices Victor Bandur, Peter W. V. Tran-Jørgensen, Miran Hasanagic,´ and Kenneth Lausdahl Department of Engineering, Aarhus University, Denmark {victor.bandur,pvj,miran.hasanagic,lausdahl}@eng.au.dk Abstract. Current code generators for VDM target high-level programming lan- guages and hardware platforms, and are hence not suitable for embedded plat- forms with limited memory and computational power. This paper presents an overview of a new component of the Overture platform, a code generator from a subset of VDM-RT to ANSI C, suitable for such embedded platforms, as well as FMI-compliant co-simulation. The subset includes object-orientation and distri- bution features. This component is delivered as part of the Horizon 2020 project INTO-CPS and the generated code conforms to a novel semantics of VDM-RT developed under the same project. Keywords: VDM, code generation, C, embedded platforms, Overture tool, FMI 1 Introduction Current code generators for VDM [7] target high-level programming languages such as Java and C++. This severely limits the choice of target hardware platform, as only C compilers are available for many platforms with limited computational power and memory, such as microcontrollers. In this paper we address this by proposing a VDM- to-C translation, called VDM2C [27], that targets such platforms. VDM2C translates models written using VDM’s real-time dialect, VDM-RT [19], into ANSI C, compliant with the C89 standard. Compliance with C89 ensures that a wide range of hardware platforms are supported, as many only have C89 compilers. VDM2C is developed as part of the Horizon 2020 project INTO-CPS [18] to support (1) the implementation of VDM-RT models via code generation, and (2) Functional Mock-up Interface (FMI) compliant co-simulation [2] of VDM-RT models exported as Functional Mock-up Units (FMUs) embedding code-generated versions of the models. Both of these features are implemented in two separate plugins that can be installed in Overture [4]. In this paper we focus mostly on the C translation, and demonstrate by example how a VDM-RT model of a water tank controller is translated into C code that is executed in co-simulation. In the INTO-CPS project VDM2C has supported both system analysis (co-simulation)