With the advent of cloud computing, different cloud providers with heterogeneous cloud services and Application Programming Interfaces (APIs) have emerged. This heterogeneity complicates the implementation of an interoperable multi-cloud system. Among the multi-cloud interoperability solutions, Model-Driven Engineering (MDE) has proven to be quite advantageous and is the mostly adopted methodology to rise in abstraction and mask the heterogeneity of the cloud. However, most of the existing MDE solutions for the cloud are not representative of the cloud APIs and lack of formalization. To address these shortcomings, I present in this thesis an approach based on Open Cloud Computing Interface (OCCI) standard, MDE, and formal methods. I provide two major contributions implemented in the context of the OCCIware project. First, I propose an approach based on reverse-engineering to extract knowledge from the ambiguous textual documentation of cloud APIs and to enhance its representation using MDE techniques. This approach is applied to Google Cloud Platform (GCP), where I provide GCP Model, a precise model-driven specification for GCP that is automatically inferred from GCP textual documentation. Second, I propose the fclouds framework to achieve semantic interoperability in multi-clouds, i.e., to identify the common concepts between cloud APIs and to reason over them. The fclouds language is a formalization of OCCI concepts and operational semantics in Alloy formal specification language. To demonstrate the effectiveness of the fclouds language, I formally specify thirteen case studies and verify their properties.
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
Stéphanie Challita's PhD Defense Presentation
1. Inferring Models from Cloud APIs and
Reasoning over Them:
a Tooled and Formal Approach
Presented by:
Stéphanie CHALLITA
PhD committee:
Philippe MERLE Inria Lille – Nord Europe Supervisor
Benoit COMBEMALE University of Toulouse & Inria Rennes Reviewer
Christian PEREZ Inria Lyon Reviewer
Hélène COULLON IMT Atlantique Examiner
Laetitia JOURDAN University of Lille Examiner
Faiez ZALILA Inria Lille – Nord Europe Invited
PhD Defense
December 21, 2018
2. Stéphanie CHALLITA – PhD Defense 2/109
Cloud computing
Created by Sam Johnston, downloaded from https://en.wikipedia.org/wiki/Cloud_computing
4. 4/109Stéphanie CHALLITA – PhD Defense
Problem statement
Deployment
Model
Management
Interface
Service
Model
Public SOAP & REST
IaaS,
PaaS,
SaaS
Public REST
IaaS,
PaaS,
SaaS
Public REST IaaS
Private REST IaaS
7. 7/109
To semantically reason over
extracted models of
cloud APIs
Stéphanie CHALLITA – PhD Defense
Thesis objective
8. 1. State of the Art
2. Foundation
OCCIware
3. Contributions
Inferring models from cloud APIs: GCP model
Reasoning on cloud APIs: fclouds framework
4. Conclusion
Summary
Perspectives
Stéphanie CHALLITA – PhD Defense 8/109
Outline
9. Stéphanie CHALLITA – PhD Defense 9/109
Approaches for multi-clouds - Actors
State of the Art Foundation Contributions Conclusion
Cloud
provider
Cloud
developer
Cloud
architect
Use Use
Offer
10. 10/109Stéphanie CHALLITA – PhD Defense
Programming Space
Provider Space Cloud
provider
Cloud
developer
Cloud
architect
Modeling Space
Semantic Space
State of the Art Foundation Contributions Conclusion
Approaches for multi-clouds
11. Stéphanie CHALLITA – PhD Defense 11/109
Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
AWS
API
OCCI
API
DigitalOcean
API
Provider
Space
Private
Cloud
provider
Public
GCP
API
…
OCCI CIMI …
Public Public
12. Stéphanie CHALLITA – PhD Defense 12/109
Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
AWS
API
OCCI
API
DigitalOcean
API
Provider
Space
Public Private
Cloud
provider
Public
GCP
API
…
Public
Cloud
Brokers
OCCI CIMI …
13. Stéphanie CHALLITA – PhD Defense 13/109
Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
AWS
API
OCCI
API
DigitalOcean
API
DigitalOcean
SDK
Programming
Space
GCP
SDK
AWS
SDK
Provider
Space
Public Private
Cloud
provider
Public
GCP
API
Cloud
developerOCCI
SDK
…
…
Public
Cloud
Brokers
OCCI CIMI …
14. Stéphanie CHALLITA – PhD Defense 14/109
Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
AWS
API
OCCI
API
DigitalOcean
API
DigitalOcean
SDK
Multi-cloud
Libraries
Programming
Space
GCP
SDK
AWS
SDK
Provider
Space
Public Private
Cloud
provider
Public
GCP
API
Cloud
developerOCCI
SDK
…
…
Public
Cloud
Brokers
OCCI CIMI …
15. Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
Cloud
Metamodel
Cloud
Model
conforms to
represented by
defines
Cloud
Meta-metamodel
conforms to
M0
M1
M2
M3
15/109
Cloud
architect
Model
Code
generation
Static
analysis
Documentation
Transformation
Stéphanie CHALLITA – PhD Defense
16. Stéphanie CHALLITA – PhD Defense 16/109
Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
Modeling
Space
Cloud
architect
CloudML
AWS
API
OCCI
API
DigitalOcean
API
DigitalOcean
SDK
Multi-cloud
Libraries
Programming
Space
GCP
SDK
AWS
SDK
Provider
Space
Public Private
Cloud
provider
Public
GCP
API
Cloud
developerOCCI
SDK
…
…
Public
Cloud
Brokers
CAMEL TOSCAOpenTOSCASALOON StratusML
OCCI CIMI …
17. Stéphanie CHALLITA – PhD Defense 17/109
Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
Issue 1:
Fixed metamodels, not extensible to
support additional concepts
18. RQ#1: Is it possible to have a solution that allows to
represent all kinds of cloud resources despite their
heterogeneity, and a complete framework for
managing them?
- How to design the cloud developer needs at a high-level
of abstraction?
- How to verify the cloud structural and behavioral
properties before any concrete deployments?
- How to deploy and manage cloud configurations?
Stéphanie CHALLITA – PhD Defense 18/109
Research questions
State of the Art Foundation Contributions Conclusion
OCCIware
Research topics: Model-Driven Engineering (MDE), Models@run.time
19. Stéphanie CHALLITA – PhD Defense 19/109
Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
Issue 2:
Fuzziness of the concepts of the cloud
modeling languages
20. Stéphanie CHALLITA – PhD Defense 20/109
RQ#2: Is it possible to automatically extract precise
models from cloud APIs and to synchronize them with
the cloud evolution?
- How to provide an accurate description for a cloud API?
- How to correct the existing drawbacks in a cloud API
documentation?
- How to analyze a cloud API documentation?
State of the Art Foundation Contributions Conclusion
GCP model
Research topics: API mining, reverse-engineering, NLP
Research questions
21. Stéphanie CHALLITA – PhD Defense 21/109
Approaches for multi-clouds
State of the Art Foundation Contributions Conclusion
Issue 3:
Little attention paid to the semantics
22. Stéphanie CHALLITA – PhD Defense 22/109
RQ#3: Is it possible to reason on cloud APIs and identify
their similarities and differences?
- How to better understand cloud solutions?
- How to make sure that a cloud solution reflects the
desired behaviour?
- How to ensure an accurate migration from a cloud
solution to another?
State of the Art Foundation Contributions Conclusion
fclouds
Research topics: model verification & validation, semantic alignment
Research questions
23. Stéphanie CHALLITA – PhD Defense 23/109
Thesis vision
Model-Driven Approach
for the Cloud
Formal Approach
for the Cloud
OCCIware
fclouds
Infer
Reason
OCCIGCPAWS
State of the Art Foundation Contributions Conclusion
24. Stéphanie CHALLITA – PhD Defense 24/109
Thesis vision
Model-Driven Approach
for the Cloud
OCCIware
State of the Art Foundation Contributions Conclusion
25. Community-based effort hosted by
Resource-oriented model and RESTful API
Everything as a Service, i.e., XaaS
OCCI
Stéphanie CHALLITA – PhD Defense 25/109
State of the Art Foundation Contributions Conclusion
26. OCCI core model
Stéphanie CHALLITA – PhD Defense 26/109
State of the Art Foundation Contributions Conclusion
Category
scheme: URI
term: String
title: String [0..1]
Kind Mixin
Action
Entity
id: URI
Resource Link
Attribute
name: String
type: String [0..1]
mutable: Boolean [0..1]
required: Boolean [0..1]
default: String [0..1]
description: String [0..1]
0..1 *
actions 1*
actions
*
mixins
*
entities
1
kind
*
entities
1 target
1 source
*
links
0..1
parent
*
*
depends
*
1 *
attributes
* applies
Source: R.Nyrén, A.Edmonds, A.Papaspyrou, T.Metsch and B.Parák, “Open Cloud Computing Interface-Core,” Open Grid
Forum, In Specification Document GFD.221, Feb. 2016.
27. Stéphanie CHALLITA – PhD Defense 27/109
OCCIware metamodel
State of the Art Foundation Contributions Conclusion
28. Stéphanie CHALLITA – PhD Defense 28/109
OCCIware tool chain
State of the Art Foundation Contributions Conclusion
29. Stéphanie CHALLITA – PhD Defense 29/109
OCCIware tool chain
State of the Art Foundation Contributions Conclusion
30. OCCIware is a factory to build cloud domain-specific
modeling frameworks
Stéphanie CHALLITA – PhD Defense 30/109
State of the Art Foundation Contributions Conclusion
OCCIware use cases
31. OCCIware is a factory to build cloud domain-specific
modeling frameworks
Stéphanie CHALLITA – PhD Defense 31/109
State of the Art Foundation Contributions Conclusion
OCCIware use cases
32. OCCIware is a factory to build cloud domain-specific
modeling frameworks
Stéphanie CHALLITA – PhD Defense 32/109
State of the Art Foundation Contributions Conclusion
OCCIware use cases
33. OCCIware is a factory to build cloud domain-specific
modeling frameworks
Stéphanie CHALLITA – PhD Defense 33/109
State of the Art Foundation Contributions Conclusion
OCCIware use cases
34. OCCIware is a factory to build cloud domain-specific
modeling frameworks
Stéphanie CHALLITA – PhD Defense 34/109
State of the Art Foundation Contributions Conclusion
OCCIware use cases
35. Stéphanie CHALLITA – PhD Defense 35/109
Thesis vision
Model-Driven Approach
for the Cloud
OCCIware
State of the Art Foundation Contributions Conclusion
36. Stéphanie CHALLITA – PhD Defense 36/109
Thesis vision
State of the Art Foundation Contributions Conclusion
Model-Driven Approach
for the Cloud
OCCIware
Infer
OCCIGCPAWS
37. conformsto
Cloud
documentation
37/109Stéphanie CHALLITA – PhD Defense
Cloud API documentation
Cloud
developer/architect
Cloud
provider
An agreement with the developer on exactly how the system will operate
Cloud documentations are written in natural language
human errors and/or semantic confusions
State of the Art Foundation Contributions Conclusion
38. Stéphanie CHALLITA – PhD Defense 38/109
Global Vision
State of the Art Foundation Contributions Conclusion
Inferring models from cloud APIs
Work of API mining, reverse-engineering
HTML Model
Model refinement (NLP techniques, graphical output…)
39. 39/109Stéphanie CHALLITA – PhD Defense
Google Cloud Platform (GCP) use case
State of the Art Foundation Contributions Conclusion
Is partner withIs adopted by
40. Informal heterogeneous documentation
Imprecise types
Implicit attribute metadata
Hidden links
Redundancy
Lack of visual support
Stéphanie CHALLITA – PhD Defense 40/109
List of GCP documentation drawbacks
State of the Art Foundation Contributions Conclusion
41. Stéphanie CHALLITA – PhD Defense 41/109
Informal heterogeneous documentation
State of the Art Foundation Contributions Conclusion
Available at
https://cloud.google.com/compute/docs/reference/latest/networks
Available at
https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.clusters
42. 42/109Stéphanie CHALLITA – PhD Defense
Imprecise types
State of the Art Foundation Contributions Conclusion
43. Stéphanie CHALLITA – PhD Defense 43/109
GCP snapshot
GCP engineers could
update/correct GCP
documentation
Continuously following up with
GCP documentation is costly
Snapshot of GCP API
State of the Art Foundation Contributions Conclusion
A
Snapshot
GCP
HTML pages
GCP
documentation
44. 44/109Stéphanie CHALLITA – PhD Defense
GCP crawler & GCP model
State of the Art Foundation Contributions Conclusion
GCP
Crawler
A B
Snapshot
GCP
HTML pages
GCP
documentation
GCP Crawler to extract all GCP resources, their
attributes and actions
GCP Model for a better description of the GCP
resources
GCP
Model
C
45. 45/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
46. 46/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
47. 47/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
48. 48/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
49. 49/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
50. 50/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
51. 51/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
52. 52/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
53. 53/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
54. 54/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
55. 55/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP crawler & GCP model
56. 56/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
GCP
Crawler GCP
Model
A B
Snapshot
GCP
HTML pages
GCP
documentation
C
GCP Crawler to extract all GCP resources, their
attributes and actions
GCP Model for a better description of the GCP
resources and for reasoning over them
No more Informal Heterogeneous Documentation
GCP crawler & GCP model
OCCIware
Metamodel
GCP
configuration
conforms to
represented by
Ecore
Metamodel
conforms to
M0
M1
M2
M3
GCP
model
GCP
doc
conforms to
57. 57/109Stéphanie CHALLITA – PhD Defense
Model transformations
State of the Art Foundation Contributions Conclusion
Implicit Attribute
Metadata Detection
Link Identification
Redundancy Removal
Model
Transformations
Type Refinement
Model Visualization
GCP
Crawler
A B
Snapshot
GCP
HTML pages
GCP
documentation
GCP
Model
C
58. 58/109
By adopting the data type system proposed by
OCCIware metamodel
defining regular expressions
using the EMF validator to check the type constraints that are
attached to the attributes
Stéphanie CHALLITA – PhD Defense
Type refinement
State of the Art Foundation Contributions Conclusion
59. 59/109
By adopting the data type system proposed by
OCCIware metamodel
defining regular expressions
using the EMF validator to check the type constraints that are
attached to the attributes
Stéphanie CHALLITA – PhD Defense
Type refinement
State of the Art Foundation Contributions Conclusion
If the type of an attribute in the documentation is
string and the description explains that this is an
email address, we apply the email validation
constraint:
STRINGTYPE + this regular expression:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,6}$
No more Imprecise Types
60. 60/109
To explicitly store information into additional attributes
defined in the ATTRIBUTE concept of our GCP MODEL
We use Natural Language Processing (NLP) techniques
Word Tagging/Part-of- Speech (PoS)
We declare pre-defined tags for some GCP specific
attribute properties:
mu tab le = tru e if [In p u t -O n ly ]
mu tab le = false if [O u tp u t - on ly ]/ read on ly
required = true if [Required]
req u ired = false if [O ption al ]
d efau lt = X if Th e d efau lt valu e is X
Stéphanie CHALLITA – PhD Defense
Implicit attribute metadata detection
State of the Art Foundation Contributions Conclusion
61. 61/109Stéphanie CHALLITA – PhD Defense
Implicit attribute metadata detection
State of the Art Foundation Contributions Conclusion
62. 62/109Stéphanie CHALLITA – PhD Defense
Implicit attribute metadata detection
State of the Art Foundation Contributions Conclusion
63. 63/109Stéphanie CHALLITA – PhD Defense
Implicit attribute metadata detection
State of the Art Foundation Contributions Conclusion
64. 64/109Stéphanie CHALLITA – PhD Defense
Implicit attribute metadata detection
State of the Art Foundation Contributions Conclusion
65. 65/109Stéphanie CHALLITA – PhD Defense
Model visualization
State of the Art Foundation Contributions Conclusion
No more Lack of Visual Support Built via OCCIware
designer
66. 66/109
Documentation spread over many pages
– Recursive parsing one must deeply explore the documentation to completely
define all the required concepts
Stéphanie CHALLITA – PhD Defense
Challenges
State of the Art Foundation Contributions Conclusion
67. 67/109
Documentation spread over many pages
– Recursive parsing one must deeply explore the documentation to completely
define all the required concepts
Huge and tough documentation analysis
– Finely observe the structure of the page to correctly design the crawler
– Read the descriptions to carefully design the rules
Stéphanie CHALLITA – PhD Defense
Challenges
State of the Art Foundation Contributions Conclusion
68. 68/109
Documentation spread over many pages
– Recursive parsing one must deeply explore the documentation to completely
define all the required concepts
Huge and tough documentation analysis
– Finely observe the structure of the page to correctly design the crawler
– Read the descriptions to carefully design the rules
Huge and tough model analysis
– Verify the automatically set values to incrementally refine the knowledge
extraction
Stéphanie CHALLITA – PhD Defense
Challenges
State of the Art Foundation Contributions Conclusion
69. 69/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
Analysis
How many resources are provided by GCP
documentation?
Why GCP documentation is heterogeneous?
To what extend GCP resources have redundant
characteristics?
How GCP model allows us to factorize them?
70. 70/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
How many resources are provided by GCP
documentation?
71. Why GCP documentation is heterogeneous?
Runtime Config
71/109Stéphanie CHALLITA – PhD Defense
Cloud User
Account &
GCP
Model
State of the Art Foundation Contributions Conclusion
72. 72/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
To what extend GCP resources have
redundant characteristics?
73. 73/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
To what extend GCP resources have
redundant characteristics?
74. 74/109Stéphanie CHALLITA – PhD Defense
How GCP model allows us to factorize
them?
State of the Art Foundation Contributions Conclusion
75. Stéphanie CHALLITA – PhD Defense 75/109
Thesis vision
State of the Art Foundation Contributions Conclusion
Model-Driven Approach
for the Cloud
OCCIware
Infer
OCCIGCPAWS
76. Stéphanie CHALLITA – PhD Defense 76/109
Thesis vision
State of the Art Foundation Contributions Conclusion
Model-Driven Approach
for the Cloud
Formal Approach
for the Cloud
OCCIware
fclouds
Infer
Reason
OCCIGCPAWS
77. Need to reason on the common principles that
cloud solutions must adhere to
Stéphanie CHALLITA – PhD Defense 77/109
Exploring the semantic space
State of the Art Foundation Contributions Conclusion
Multi-cloud Libraries
Modeling
Space
Programming
Space
Provider
Space
Cloud Brokers Cloud
provider
Cloud
developer
Cloud
architect
Model-Driven Approaches for the Cloud (MDAC)
Semantic
Space
Formal Approaches for the Cloud
78. Need to reason on the common principles that
cloud solutions must adhere to
Stéphanie CHALLITA – PhD Defense 78/109
Exploring the semantic space
State of the Art Foundation Contributions Conclusion
[1] K. Yongsiriwit, M. Sellami, and W. Gaaloul, “A Semantic Framework Supporting Cloud Resource Descriptions Interoperability,” in 2016 IEEE
9th International Conference on Cloud Computing (CLOUD). IEEE, 2016, pp. 585–592.
[2] N. Loutas, E. Kamateri, and K. Tarabanis, “A Semantic Interoperability Framework for Cloud Platform as a Service,” in 2011 IEEE Third
International Conference on Cloud Computing Technology and Science (CloudCom). IEEE, 2011, pp. 280–287.
Multi-cloud Libraries
Modeling
Space
Programming
Space
Provider
Space
Cloud Brokers Cloud
provider
Cloud
developer
Cloud
architect
Model-Driven Approaches for the Cloud (MDAC)
Semantic
Space
fcloudsPSIF [2][1]
79. 79/109Stéphanie CHALLITA – PhD Defense
Need for the semantic space
Mathematical
specification
Formal
Validation
Reasoning
One
interpretation
Accuracy
Earlier error detection,
cheaper correction
State of the Art Foundation Contributions Conclusion
80. 80/109Stéphanie CHALLITA – PhD Defense
fclouds framework
State of the Art Foundation Contributions Conclusion
fclouds is a framework for providing formal
specifications of cloud APIs & reasoning over them
Catalog of cloud formal models
Based on a formal language
81. Formalization of OCCI core concepts & CRUD operations
in Alloy
81/109Stéphanie CHALLITA – PhD Defense
fclouds formal language
State of the Art Foundation Contributions Conclusion
82. 82/109
Formalization of OCCI core concepts in Alloy
Stéphanie CHALLITA – PhD Defense
fclouds static semantics
Extension Configuration
Resource Link
KindAction
DataType
Attribute
Time
source
target
links
use
kinds
types
resources
action
State of the Art Foundation Contributions Conclusion
83. 83/109
Formalization of OCCI core concepts in Alloy
Concepts are modeled as signatures
Stéphanie CHALLITA – PhD Defense
Extension Configuration
Resource Link
KindAction
DataType
Attribute
Time
source
target
links
use
kinds
types
resources
action
State of the Art Foundation Contributions Conclusion
fclouds static semantics
sig Configuration {
use : set Extension ,
resources : set Resource -> Time
}
84. 84/109
Formalization of OCCI core concepts in Alloy
Concepts are modeled as signatures
Time concept is added to distinguish between
mutable and immutable fields
Stéphanie CHALLITA – PhD Defense
Extension Configuration
Resource Link
KindAction
DataType
Attribute
Time
source
target
links
use
kinds
types
resources
action
sig Configuration {
use : set Extension ,
resources : set Resource -> Time
}
State of the Art Foundation Contributions Conclusion
fclouds static semantics
85. Formalization of OCCI behavioral specification1 in Alloy
Operations are modeled as predicates
85/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
OCCIAPI
Create
Retrieve
Update
Delete
1. R. Nyrén, A. Edmonds, T. Metsch and B. Parák, “Open Cloud Computing Interface - HTTP Protocol,” Open Grid Forum,
In Specification Document GFD.223, Feb. 2016.
fclouds operational semantics
86. Formalization of OCCI behavioral specification1 in Alloy
Operations are modeled as predicates
Time concept is added to distinguish between pre-
states and post-states
86/109Stéphanie CHALLITA – PhD Defense
State of the Art Foundation Contributions Conclusion
OCCIAPI
Create
Retrieve
Update
Delete
1. R. Nyrén, A. Edmonds, T. Metsch and B. Paràk, “Open Cloud Computing Interface - HTTP Protocol,” Open Grid Forum,
In Specification Document GFD.223, Feb. 2016.
fclouds operational semantics
87. 87/109Stéphanie CHALLITA – PhD Defense
pred CreateResource [ config : Configuration, resourceId : String, kind :
Kind , t, t ’ : Time ] {
/ / preconditions at instant t
no resource : config.resources.t |
resource.id = resourceId
kind in config.use.kinds
}
State of the Art Foundation Contributions Conclusion
fclouds operational semantics
88. 88/109Stéphanie CHALLITA – PhD Defense
pred CreateResource [ config : Configuration, resourceId : String, kind :
Kind , t, t ’ : Time ] {
/ / preconditions at instant t
no resource : config.resources.t |
resource.id = resourceId
kind in config.use.kinds
/ / postconditions at instant t ’
one resource : Resource {
resource.id = resourceId
resource . kind = kind
config.resources. t ’ = config.resources.t + resource }
}
State of the Art Foundation Contributions Conclusion
fclouds operational semantics
89. 89/109Stéphanie CHALLITA – PhD Defense
fclouds properties
Consistency
Sequentiality
Reversibility
Conformance to HTTP 2 protocol
Idempotence
Safety
State of the Art Foundation Contributions Conclusion
90. 90/109Stéphanie CHALLITA – PhD Defense
fclouds properties - sequentiality
Definition:
“Two cloud API operations are sequential when one cannot
happen if the other one did not happen at the time before ”
State of the Art Foundation Contributions Conclusion
91. 91/109Stéphanie CHALLITA – PhD Defense
fclouds properties - sequentiality
Definition:
“Two cloud API operations are sequential when one cannot
happen if the other one did not happen at the time before ”
No counterexample
t1 t2
Update-VM
t0
Cores: 2
Memory: 2 GB
Disk: 256 GB
Cores: 4
Memory: 2 GB
Disk: 256 GB
assert RetrieveResourceThenUpdateResource {
... }
State of the Art Foundation Contributions Conclusion
92. 92/109Stéphanie CHALLITA – PhD Defense
fclouds properties - sequentiality
Pairs of sequential OCCI operations
State of the Art Foundation Contributions Conclusion
Create Retrieve Update Delete
Create
Retrieve
Update
Delete
94. Template-based approach
Alloy concept = templates for each OCCI concept
conforms to
94/109Stéphanie CHALLITA – PhD Defense
Alloy generator
State of the Art Foundation Contributions Conclusion
OCCI
extension
Alloy
specification
fclouds
specification
95. 95/109Stéphanie CHALLITA – PhD Defense
Alloy generator
State of the Art Foundation Contributions Conclusion
96. 96/109Stéphanie CHALLITA – PhD Defense
Alloy generator
State of the Art Foundation Contributions Conclusion
97. 97/109
Verification of fclouds properties via Alloy Analyzer
Stéphanie CHALLITA – PhD Defense
Verification of properties
State of the Art Foundation Contributions Conclusion
98. 98/109
Verification of fclouds properties via Alloy Analyzer
Definition & validation of domain-specific properties
Example
In OCCI Infrastructure:
Stéphanie CHALLITA – PhD Defense
Compute NetworkNetworkInterface
assert NetworkInterfaceBetweenComputeAndNetwork {
... }
State of the Art Foundation Contributions Conclusion
Verification of properties
99. pred ComputeMapInstance [ c : one Compute, i : one Instance ] {
i.name = c.occicomputehostname
i.machinetype.isSharedCpu = c.occicomputeshare
i.machinetype.memoryMb = mul [ 1024, c.occicomputememory ]
…
}
99/109
Ensure semantic alignment
Example
An instance at GCP is a compute at OCCI
Stéphanie CHALLITA – PhD Defense
Formal transformation rules
Compute
GCP
configuration
OCCI
configuration
resources
resources
String
Integer
Boolean
Instance
State of the Art Foundation Contributions Conclusion
100. Stéphanie CHALLITA – PhD Defense 100/109
Thesis vision
Model-Driven Approach
for the Cloud
Formal Approach
for the Cloud
OCCIware
fclouds
Infer
Reason
OCCIGCPAWS
State of the Art Foundation Contributions Conclusion
101. Stéphanie CHALLITA – PhD Defense 101/109
Global scenario
State of the Art Foundation Contributions Conclusion
GCP
Model
GCP.als
Infer
Reason
transformation
Model-driven engineering
Integrated formal methods
102. RQ#1: Is it possible to have a solution that allows to represent all
kinds of cloud resources despite their heterogeneity, and a complete
framework for managing them?
A model-driven framework to deal with all kinds of cloud
resources with OCCIware
RQ#2: Is it possible to automatically extract precise models from
cloud APIs and to synchronize them with the cloud evolution?
Inferring precise cloud models from online documentations
and the GCP use case
RQ#3: Is it possible to reason on cloud APIs and identify their
similarities and differences?
Reasoning on cloud models with fclouds
Stéphanie CHALLITA – PhD Defense 102/109
Summary
State of the Art Foundation Contributions Conclusion
103. Following the evolution of GCP API
Stéphanie CHALLITA – PhD Defense 103/109
Perspectives
State of the Art Foundation Contributions Conclusion
104. Following the evolution of GCP API
Developing more semantic alignment between cloud
APIs
Stéphanie CHALLITA – PhD Defense 104/109
Perspectives
State of the Art Foundation Contributions Conclusion
105. Following the evolution of GCP API
Developing more semantic alignment between cloud
APIs
Improving the management of cloud applications
with OCCI and TOSCA
Stéphanie CHALLITA – PhD Defense 105/109
Perspectives
State of the Art Foundation Contributions Conclusion
106. Extending the properties of formal cloud APIs
Stéphanie CHALLITA – PhD Defense 106/109
Perspectives
State of the Art Foundation Contributions Conclusion
107. Extending the properties of formal cloud APIs
Exploring the use of formal models to address the
challenges of other distributed systems (IoT, edge
computing, etc.)
Stéphanie CHALLITA – PhD Defense 107/109
Perspectives
State of the Art Foundation Contributions Conclusion
109. Stéphanie CHALLITA – PhD Defense 109/109
International journal
Faiez Zalila, Stéphanie Challita, Philippe Merle. “Model-Driven Cloud Resource Management with OCCIware.” Future
Generation Computer Systems (FGCS), 2018. (under review)
International conferences
Stéphanie Challita, Faiez Zalila, Philippe Merle. “Specifying Semantic Interoperability between Heterogeneous Cloud
Resources with the fclouds Formal Language”. IEEE International Conference on Cloud Computing (CLOUD). 2018.
Stéphanie Challita, Faiez Zalila, Christophe Gourdin, Philippe Merle. “A Precise Model for Google Cloud Platform" .
IEEE International Conference on Cloud Engineering (IC2E). 2018.
Fabian Korte, Stéphanie Challita, Faiez Zalila, Philippe Merle, Jens Grabowski. “Model-Driven Configuration
Management of Cloud Applications with OCCI”. International Conference on Cloud Computing and Services Science
(CLOSER). 2018.
Faiez Zalila, Stéphanie Challita, Philippe Merle. “A Model-Driven Tool Chain for OCCI”. International Conference on
Cooperative Information Systems (CoopIS). 2017.
Stéphanie Challita, Fawaz Paraiso, Philippe Merle. “Towards Formal-based Semantic Interoperability in Multi-Clouds:
The fclouds Framework’’. IEEE International Conference on Cloud Computing (CLOUD). 2017.
Stéphanie Challita, Fawaz Paraiso, Philippe Merle. “A Study of Virtual Machine Placement Optimization in Data
Centers”. International Conference on Cloud Computing and Services Science (CLOSER). 2017.
Fawaz Paraiso, Stéphanie Challita, Yahya Al-dhuraibi, Philippe Merle. “Model-Driven Management of Docker
Containers”. IEEE International Conference on Cloud Computing (CLOUD). 2016.
Award
Awardee of L’Oréal – UNESCO For Women In Science program