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

Similar documents