generating java rmi code for the distributed aspects of
Transcription
generating java rmi code for the distributed aspects of
GENERATING JAVA RMI CODE FOR THE DISTRIBUTED ASPECTS OF VDM-RT MODELS Miran Hasanagic, Peter Gorm Larsen, Peter W. V. TranJørgensen AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 AGENDA Introduction Distribution in VDM-RT Java RMI Code Generation VDM-RT models Conclusion Future Work Overture vision AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 INTRODUCTION Ø Ø Ø Code Generation of VDM models à Implementation Dialects: Ø VDM-SL for sequential and functional modelling Ø VDM-PP for object oriented modelling Ø VDM-RT for modelling of time aspects and distributed architecture Focus is on the distributed aspects of VDM-RT models AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 CODE GENERATION PLATFORM AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 DISTRIBUTION IN VDM-RT MODELS Ø Distribution is modelled inside the system definition AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 VDM-RT CODE GENERATION Ø Ø Ø Ø Noval area of research First support the distributed aspects of VDM-RT Current version supports Java code generation for VDM-PP models Use Java Remote Method Invocation (RMI) in order to enable distributed communication between Java Virtual Machines Java VDM-PP Java RMI AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 JAVA RMI MOTIVATION Ø Ø Ø Static Distributed System Object-Oriented Distribution Communication paradigm: Remote Method Invocation AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 JAVA RMI InterfaceàClient ImplementationàServer AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 STEPS DURING CODE GENERATION 5. Extracting distribution information from a VDM-RT model Code Generating VDM-RT classes Transformation of method parameters and return values Generating functionality of a single CPU Enabling execution 6. Entry method of implemented model 1. 2. 3. 4. AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 1. DISTRIBUTION INFORMATION IN VDM-RT Distribution map Connection map AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 1. DISTRIBUTION INFORMATION IN VDM-RT AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 2. CODE GENERATING VDM-RT CLASSES VDM-RT AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY Java RMI code generator MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 2. CODE GENERATING VDM-RT CLASSES AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 3. TRANSFORMATION Ø Ø Different representation between Java RMI and VDM-RT model Ø Implementation and interface For example if a method has a class type as a parameter AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 3. TRANSFORMATION AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 4. SINGLE CPU cpu2 – local system definition in Java AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 5. ENABLING EXECUTION AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 6. ENTRY METHOD OF IMPLEMENTED MODEL Ø Provide guidelines AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 CONCLUDING REMARKS Ø Ø Ø Ø Ø Used on a case study Representation of the distributed aspects in VDM-RT models Ensure same semantically meaning between model and implementation Initialization process of a DS Provide guidelines in order to support the code generation process AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 FUTURE WORK Ø Ø Ø Research relationship between Real-Time aspects in VDM-RT models and the actual implementation Support code generation for a programming language suitable for Real-Time Research other suitable technologies for dynamic distributed systems AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 VISION u u u 1 Year › Update VDM-RT for better modelling for distributed systems 5 Years › Enable code generation for target hardware (Software-in-the-Loop) › Use some of the extensions in industry case studies (INTO-CPS) 10 years › Used during different aspects of development cycle. AU AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY MIRAN HASANAGIC OVERTURE WORKSHOP - OSLO 23. JUNI 2015 AU AARHUS UNIVERSITET