Semantic Centric Solutions for Application and Data Portability in - - PowerPoint PPT Presentation

semantic centric solutions for application and data
SMART_READER_LITE
LIVE PREVIEW

Semantic Centric Solutions for Application and Data Portability in - - PowerPoint PPT Presentation

Semantic Centric Solutions for Application and Data Portability in Cloud Computing Ajith H. Ranabahu , Amit Sheth Kno.e.sis Center Wright State University 2 nd IEEE International Conference on Cloud Computing and Technology Indianapolis IN


slide-1
SLIDE 1

Semantic Centric Solutions for Application and Data Portability in Cloud Computing

Ajith H. Ranabahu , Amit Sheth

Kno.e.sis Center

Wright State University

2nd IEEE International Conference on Cloud Computing and Technology Indianapolis IN

slide-2
SLIDE 2

Agenda

  • Challenges in Cloud Computing

– The portability problem

  • Role of Semantics and the Modelling space
  • Use of semantics in programming for the Cloud

– Semantic Enhancements to a Domain Specific Language

  • A brief overview of our vision

– The Cirrocumulus project

  • Questions

2 Cloudcom 2010

slide-3
SLIDE 3

Challenges in Cloud Computing

3 Cloudcom 2010

slide-4
SLIDE 4

Cloud Landscape as

  • f Today

4 Cloudcom 2010

slide-5
SLIDE 5

The Vendor Lock-in Problem

  • Once you select a Cloud then it is hard (almost

impossible) to move to a different one

– Both application logic as well as data !

  • Vertical vs Horizontal

– Vertical

  • Move within the same type of Clouds

– Horizontal

  • Move across different types of Clouds

5 Cloudcom 2010

slide-6
SLIDE 6

Objective of Our Research

  • A methodology to develop applications in a

portable manner

– Use Semantic technologies to streamline this process

6 Cloudcom 2010

slide-7
SLIDE 7

Knowing is half the battle ! A Clear Understanding of the Applications

7 Cloudcom 2010

slide-8
SLIDE 8

Four Types of Semantics for an Application

  • Inspired by the

four types of Semantics for Services1,2

  • Enables a clear

separation of issues

1. “Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, Composition and Orchestration,” Amit Sheth Workshop on E-Services and the Semantic Web (ESSW'03), 12th International World Wide Web Conference, Budapest, Hungary, May 20, 2003.

  • 2. “METEOR-S Web service Annotation Framework’”, Abhijit Patil, Swapna Oundhakar,Amit Sheth, and Kunal Verma, in

proceedings, 13th International Conference on World Wide Web (WWW 2004), New York, NY, 2004.

8 Cloudcom 2010

slide-9
SLIDE 9

Modeling For Applications

  • Applications development is a complicated

process

– Multiple parties / Multiple stages – Many modeling approaches already available

  • Four types of Semantics need to be carried

across these stages

9 Cloudcom 2010

slide-10
SLIDE 10

Partitioning of the Modeling space

10 Cloudcom 2010

slide-11
SLIDE 11

From High level models to a Concrete Grounding

  • We need both high level modeling and

running code !

  • High level models
  • Easier to understand
  • A birds-eye view
  • Executable code
  • Detailed and intricate
  • May not give a clear understanding of what it does
  • It works !

11 Cloudcom 2010

slide-12
SLIDE 12

Semantics and Domain Specific Languages

12 Cloudcom 2010

slide-13
SLIDE 13

Using DSLs to Develop applications

  • DSL ?

– Domain Specific Language – A mini language for a special purpose

  • Make / Ant
  • Matlab
  • Many other examples
  • Use a DSL to generate an application

13 Cloudcom 2010

slide-14
SLIDE 14

What changes by using a DSL ?

  • DSLs are abstract

– Reduced complexity

  • Minimum separation between multiple

components

– E.g. No service interfaces to worry about (auto generated)

14 Cloudcom 2010

slide-15
SLIDE 15

Why Semantics ?

  • Semantic Web community has tackled the

portability problem for years !

– Semantic models are capable of providing generic abstractions over data, functional, non-functional and system aspects – Referring to these models rather than re- implementing code, significantly reduces the development effort

15 Cloudcom 2010

slide-16
SLIDE 16

Example

  • The MobiCloud DSL

– Generates Cloud-Mobile hybrids – Capable of addressing multiple clouds as well as mobile devices

  • Presented tomorrow in the Work In Progress

track as well as the demo session.

16 Cloudcom 2010

slide-17
SLIDE 17

Is this the silver bullet ?

  • Nope !

– Less control over the code

  • E.g. Extensive customization and device integration may

not possible

– Covers only the 80% case

  • A given DSL is only good in covering its own domain.
  • E.g. The MobiCloud DSL is not suitable for games or
  • ther UI intensive applications

17 Cloudcom 2010

slide-18
SLIDE 18

Using the MobiCloud DSL as a Base for Semantics

18 Cloudcom 2010

slide-19
SLIDE 19

MobiCloud DSL Design principle

  • Based on Model-View-Controller (MVC) design

pattern

19

Model View Controller

Cloudcom 2010

slide-20
SLIDE 20

A very simple “Hello World”

20

recipe :helloworld do metadata :id => 'helloworld-app' # models model :greeting, {:message => :string} #controllers controller :sayhello do action :retrieve,:greeting end # views view :show_greeting, {:models =>[:greeting], :controller => :sayhello, :action => :retrieve} end Models Controllers Views

Metadata – details that need to be attached to the whole application

Linking the model using its unique name Linking the controller using its unique name

Cloudcom 2010

slide-21
SLIDE 21

Mapping of Hello World to Cloud and Mobile Spaces

Model View Controller

Persistent Storage

UI RESTful Service Client

RESTful Service Implementation

Server side handler Greeting Data Structures Greeting Data Structure

Mobile Device Cloud

21 Cloudcom 2010

slide-22
SLIDE 22

Breaking the Hello World with Respect to Semantics

22

recipe :helloworld do metadata :id => 'helloworld-app' # models model :greeting, {:message => :string} #controllers controller :sayhello do action :retrieve,:greeting end # views view :show_greeting, {:models =>[:greeting], :controller => :sayhello, :action => :retrieve} end Data Defintions Logic and Process Definitions

Non-functional details and Metadata

Cloudcom 2010

slide-23
SLIDE 23

A slightly complicated Example (task manger)

23 r e c i pe ( : t odol i s t ) do # s pe c i f i c m e t a da t a f or t hi s a pp m e t a da t a ( {: i d => ‘ t odo- l i s t ' }) m

  • de l ( : t odoi t e m

, {: na m e =>: s t r i ng, : de s c r i pt i on => : s t r i ng, : t i m e => : s t r i ng, : l oc a t i on => : s t r i ng}) m

  • de l ( : us e r , {: na m

e =>: s t r i ng, : bda y => : s t r i ng}) #c ont r ol l e r s c ont r ol l e r ( : t odoha ndl e r ) do a c t i on : c r e a t e , : t odoi t e m a c t i on : r e t r i e ve , : t odoi t e m a c t i on : upda t e , : t odoi t e m a c t i on : de l e t e , : t odoi t e m e nd # vi e ws vi e w : t odo_a dd, {: m

  • de l s >[ : t odoi t e m

] , : c ont r ol l e r => : t odoha ndl e r , : a c t i on => : c r e a t e } vi e w : t odo_s how, {: m

  • de l s =>[ : t odoi t e m

] , : c ont r ol l e r => : t odoha ndl e r , : a c t i on => : r e t r i e ve } e nd Cloudcom 2010

slide-24
SLIDE 24

Data Semantics

  • Reusable Data Definitions

– RDF based Platform-neutral data definitions – Reference from the app rather than redefine

  • E.g. Use FOAF definition for person

model: person , {:ref => “foaf:Person”}

24 Cloudcom 2010

slide-25
SLIDE 25

Non-Functional Semantics

  • Non-functional Capabilities

– Attach non-functional configurations (e.g. Security) via profiles – Define abstract profiles using semantics

  • The generator can insert the necessary code
  • May need global (application-wide) configurations

– declared in the metadata section to be applicable to the whole application – E.g. Strength of encryption for security

25 Cloudcom 2010

slide-26
SLIDE 26

System Semantics

  • System Configurations

– Define abstract deployment / Management configurations using semantics – Already available in Elastras Language suite

  • ECML, EDML, EMML

– RDF based modeling of core system aspects

26 Cloudcom 2010

slide-27
SLIDE 27

DSL with Semantics

27 Cloudcom 2010

slide-28
SLIDE 28

Evaluating the Language is Hard !

28 Cloudcom 2010

  • Preliminary code

metrics

  • Not entirely fair

– Some generated code such as XML descriptors is not counted

slide-29
SLIDE 29

Porting Code

  • The generators take care of translating the DSL

to platform native code

– DSL code is portable as long as the platform adapter exists

Cloudcom 2010 29

slide-30
SLIDE 30

Porting Data

  • The lifting-lowering mechanism for data

transformation

– Availability of a platform independent model allows the transformation of a platform specific instance to a independent one.

30 Cloudcom 2010

slide-31
SLIDE 31

Our Broader Vision

31 Cloudcom 2010

slide-32
SLIDE 32

The Cirrocumulus Project

  • End-to-End coverage for Cloud application

development

– Develop, deploy and manage Cloud applications without depending on specificities of any Cloud

  • Use DSLs and Middleware together

– Inspired by IBM Altocumulus and IBM Sharable code projects – Use semantics as a core binding across all stages

32 Cloudcom 2010

slide-33
SLIDE 33

DSL Based Development fits in here

The Cirrocumulus Project

33 Cloudcom 2010

slide-34
SLIDE 34

Comparison with Other Commercial Efforts Libcloud

(http://incubator.apache.org/libcloud/)

  • Developer centric

program abstraction over Infrastructure cloud operations

  • Support in only

Python and Java Deltacloud

http://deltacloud.org/

  • Developer centric

service abstraction over Infrastructure cloud operations

Cirrocumulus

  • Developer centric

abstraction over applications and cloud operations

  • Supports IaaS as

well as PaaS Clouds

  • Code can be

generated in any language

34 Cloudcom 2010

slide-35
SLIDE 35

The Cirrocumulus Project (Cont)

LibCloud / DeltaCloud can be used in building this component

35 Cloudcom 2010

slide-36
SLIDE 36

References / More details

  • Technical report on MobiCloud

– http://knoesis.wright.edu/library/publications/Mo biCloud.pdf

  • Cirrocumulus project

– http://knoesis.org/research/srl/projects/cirrocum ulus/

36 Cloudcom 2010

slide-37
SLIDE 37

Time for Questions ?

38 Cloudcom 2010

slide-38
SLIDE 38

Thank you

39 Cloudcom 2010

slide-39
SLIDE 39

Backup (further references)

  • Why Cloud will never be free

– http://cacm.acm.org/magazines/2010/5/87259- why-cloud-computing-will-never-be-free/fulltext

Cloudcom 2010 40