39
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

Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Embed Size (px)

Citation preview

Page 1: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Semantic Centric Solutions for Application and Data Portability

in Cloud ComputingAjith H. Ranabahu , Amit Sheth

Kno.e.sis CenterWright State University

2nd IEEE International Conference on Cloud Computing and TechnologyIndianapolis IN

Presenter
Presentation Notes
welcome
Page 2: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

2Cloudcom 2010

Page 3: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Challenges in Cloud Computing

3Cloudcom 2010

Page 4: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Cloud Landscape as of Today

4Cloudcom 2010

Page 5: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

5Cloudcom 2010

Page 6: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Objective of Our Research

• A methodology to develop applications in a portable manner– Use Semantic technologies to streamline this

process

6Cloudcom 2010

Page 7: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Knowing is half the battle !A Clear Understanding of the

Applications

7Cloudcom 2010

Page 8: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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.

8Cloudcom 2010

Page 9: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

9Cloudcom 2010

Page 10: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Partitioning of the Modeling space

10Cloudcom 2010

Presenter
Presentation Notes
The modeling space is created by the need to consider multiple, independent considerations that exist when developing applications. When taken into consideration, these create a space and we can place each modeling effort in an area in this space.
Page 11: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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 !

11Cloudcom 2010

Page 12: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Semantics and Domain Specific Languages

12Cloudcom 2010

Page 13: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

13Cloudcom 2010

Page 14: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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)

14Cloudcom 2010

Page 15: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

15Cloudcom 2010

Page 16: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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.

16Cloudcom 2010

Page 17: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

other UI intensive applications

17Cloudcom 2010

Page 18: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Using the MobiCloud DSL as a Base for Semantics

18Cloudcom 2010

Page 19: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

MobiCloud DSL Design principle

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

19

Model

View Controller

Cloudcom 2010

Page 20: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

A very simple “Hello World”

20

recipe :helloworld do metadata :id => 'helloworld-app'

# models model :greeting, {:message => :string}

#controllers controller :sayhello doaction :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

Page 21: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Mapping of Hello World to Cloud and Mobile Spaces

Model

View Controller

Persistent Storage

UIRESTfulService Client

RESTful Service Implementation

Server side handler

Greeting Data Structures

Greeting Data Structure

Mobile Device Cloud

21Cloudcom 2010

Page 22: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Breaking the Hello World with Respect to Semantics

22

recipe :helloworld do metadata :id => 'helloworld-app'

# models model :greeting, {:message => :string}

#controllers controller :sayhello doaction :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

Page 23: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

A slightly complicated Example (task manger)

23

recipe(:todolist) do

# specific metadata for this app metadata({:id => ‘todo-list'})

model(:todoitem, {:name=>:string, :description => :string,:time => :string, :location => :string}) model(:user, {:name=>:string, :bday => :string})

#controllers controller(:todohandler) do

action :create,:todoitemaction :retrieve,:todoitemaction :update,:todoitemaction :delete,:todoitem

end

# views view :todo_add, {:models >[:todoitem],:controller => :todohandler,:action

=> :create}view :todo_show, {:models =>[:todoitem],:controller =>

:todohandler,:action => :retrieve}

end

Cloudcom 2010

Page 24: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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”}

24Cloudcom 2010

Page 25: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

25Cloudcom 2010

Page 26: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

26Cloudcom 2010

Page 27: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

DSL with Semantics

27Cloudcom 2010

Page 28: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Evaluating the Language is Hard !

28Cloudcom 2010

• Preliminary code metrics

• Not entirely fair– Some generated

code such as XML descriptors is not counted

Page 29: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

Page 30: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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.

30Cloudcom 2010

Page 31: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Our Broader Vision

31Cloudcom 2010

Page 32: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

32Cloudcom 2010

Page 33: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

DSL Based Development

fits in here

The Cirrocumulus Project

33Cloudcom 2010

Presenter
Presentation Notes
This is the high level vision of Cirrocumulus. The development happens via DSLs and then an ‘assembly’ containing all details is passed to the middleware layer for Cloud deployment. MobiCloud fits in the DSL based design and development component.
Page 34: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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

Deltacloudhttp://deltacloud.org/

• Developer centric service abstraction over Infrastructure cloud operations

Cirrocumulus• Developer centric

abstraction over applications and cloud operations

• Supports IaaS as well as PaaSClouds

• Code can be generated in any language

34Cloudcom 2010

Page 35: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

The Cirrocumulus Project (Cont)

LibCloud / DeltaCloud can be used in building this

component

35Cloudcom 2010

Page 36: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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/

36Cloudcom 2010

Page 37: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Time for Questions ?

38Cloudcom 2010

Page 38: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

Thank you

39Cloudcom 2010

Page 39: Semantic Centric Solutions for Application and Data …salsahpc.indiana.edu/CloudCom2010/slides/PDF/Semantics...Semantic Centric Solutions for Application and Data Portability in Cloud

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