phd thesis defense of ajith ranabahu

Post on 20-Aug-2015

2.384 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

26th July 2012 1

Image credit : http://www.epic-cities.eu

2

The Story of the Biology Professor

26th July 2012

3

What is the best way for me to crunch my

numbers?

26th July 2012

26th July 2012 4

In house cluster

All logos are trademarks of the respective organizations

Public cloud

Privatecloud

5

What is the issue here?

26th July 2012

6

Programming for the cloud is hard!

26th July 2012

7

Cloud software stacks are

incompatible!

26th July 2012

8

Abstraction Driven Application and Data Portability in Cloud

Computing

Ajith H. Ranabahu

PhD Candidate

Ohio Center of Excellence in Knowledge-enabled Computing (kno.e.sis)

Wright State University

Dayton OH

Dissertation Defense: 26th July 201226th July 2012

Carefully crafted abstractions provide a means to develop, deploy and manage cloud applications in a

platform agnostic manner

26th July 2012 9

Agenda

• Overview of Using Abstractions

• Abstractions for program generation

• Abstractions for cloud interaction

26th July 2012 10

Cloud in a nutshell

26th July 2012 11

XaaS

Data

Analytics

Hadoop

Logos and Images are trademarks of the respective companies / projects

Platform as a service (PaaS)

Software as a service (SaaS)

Infrastructure as a service (IaaS)

What is the problem?

26th July 2012 12

13

Programming for the cloud and keeping the applications portable is

hard!

26th July 2012

14

Vendor lock-in is a major concern in cloud adoption

26th July 2012

26th July 2012 15

Future of Cloud computing survey by North Bridge, showing the top 10 concerns in Cloud computing. Full survey available at http://www.northbridge.com/2012-cloud-computing-survey, released on June 20th 2012

1626th July 2012

• Overview of Using Abstractions

• Abstractions for program generation

• Abstractions for cloud interaction

26th July 2012 17

Why Abstract?

26th July 2012 18

Completely decouple the cloud from applications!

26th July 2012 19

What to Abstract?

26th July 2012 20

Development of cloud applications

26th July 2012 21

Deployment of cloud applications

26th July 2012 22

Management of cloud applications

26th July 2012 23

How to Abstract?

24

What is already out there?

26th July 2012

26th July 2012 25

Abstraction Based Mobile Application Generators

26th July 2012 26

Abstraction Based Cloud Web Application Generators

26th July 2012 27

Pla

tfor

m I

ndep

ende

nce

Complexity

Direct Programming

General Programming Language based Frameworks

Solution area we are interested in

26th July 2012 28

Abstractions for cloud interaction - Cloud Brokers and Integrators

26th July 2012 29

API Libraries

26th July 2012 30

Pla

tfor

m I

ndep

ende

nce

Complexity

Original Cloud APIs

API Based solutions

Solution Area we are interested in

Cloud brokers

31

What are our Solutions?

26th July 2012

26th July 2012 32

Program using Domain Specific

Languages

26th July 2012 33

Interact (Deploy and Manage)

via Middleware

3426th July 2012

• Overview of Using Abstractions

• Abstractions for program generation

• Abstractions for cloud interaction

3526th July 2012

Preliminaries – A background on

Languages

3626th July 2012

What makes up a Language?

26th July 2012 37

•Abstract Syntax Model (ASM)o An abstract model of what the language

represents

•Concrete Syntax Model (CSM)o The syntax of the language

•Transformationso A mapping from ASM to CSM or vice versa

26th July 2012 38

Abstract Syntax Model

Concrete Syntax Model

Transformation

=

X Y

+ ZX + Y = Z

26th July 2012 39

What is a Domain Specific Language

(DSL)?

26th July 2012 40

A domain-specific language (DSL) is a programming language or executable specification language that offers, through appropriate notations and abstractions, expressive power focused on, and usually restricted to, a particular problem domain.

A. van Deursen, P. Klint, and J. Visser, “Domain-specific languages: an annotated bibliography,” SIGPLAN Not., vol. 35, no. 6, pp. 26–36, 2000.

4126th July 2012

A domain is a set of operations / activities of interest

26th July 2012 42

A model is an abstraction of a system or its environment

or both

K. Czarnecki and S. Helsen, “Feature-based survey of model transformation approaches,” IBM Systems Journal, vol. 45, no. 3, pp. 621–645, 2006.

43

Domain Models and DSLs

26th July 2012

44

The Modeling Hierarchy

26th July 2012

26th July 2012 45

Meta-Metamodels

Domain Models

Metamodels

Computer Based Systems

describe

describe

describe

46

ASM = Domain Meta Model

26th July 2012

47

Where do we use DSLs in the context of

cloud applications?

26th July 2012

48

Breaking down the Cloud Application

26th July 2012

26th July 2012 49

Cloud Application

Data Aspects

Functional Aspects

Non-Functional Aspects

System Aspects

Amit Sheth and Ajith Ranabahu. Semantic Modeling for Cloud Computing, Part 2, IEEE Internet Computing, vol. 14, no. 4, July/Aug 2010 pages 81-84 Amit Sheth and Ajith Ranabahu. Semantic Modeling for Cloud Computing, Part 1, IEEE Internet Computing, vol. 14, no. 3, May/June 2010 pages 81-83

Introduce DSLs to cover each aspect!

26th July 2012 50

Problem Formation

26th July 2012 51

How do we put things in a theoretical

perspective?

26th July 2012 52

Focus on the transformations

26th July 2012 53

54

Transformations from domain models to cloud supported

models

26th July 2012

Focus on the properties of

language model transformations

26th July 2012 55

Assertion :Each metamodel is a

graph

26th July 2012 56

26th July 2012 57

Model Transformations – Relationship between models, metamodels and transformations

58

Model Transformations – Relationship between models, metamodels and transformations expressed symbolically

26th July 2012

Condition 1 : Each semantically distinct concept must be

distinctly defined in the domain metamodel

26th July 2012 59

26th July 2012 60

61

Example

26th July 2012

6226th July 2012

Typical

Required

Metamodel for expressions is a simplified version from Software Language Engineering: Creating Domain-Specific Languages Using Metamodels By Anneke Kleppe

26th July 2012 63

Condition 2 : The transformation must completely

define the target model

26th July 2012 64

26th July 2012 65

Lemma 1 : The transformation is not reversible

26th July 2012 66

Derived condition for Map-Reduce style computations:

Domain meta model must be mappable to a map-reduce task

model

Practical Implications

26th July 2012 67

More detailed domain models are

needed!

26th July 2012 68

Not all models can be transformed to

parallel architectures

26th July 2012 70

Don’t keep hopes on Reverse Engineering!

26th July 2012 71

72

What about Data?

26th July 2012

73

Data schema Incorporated using

DSLs

26th July 2012

74

Ontologies as data schemas

26th July 2012

26th July 2012 75

Practical Applications : MobiCloud

My Contribution : Conceptualization and primary portion of implementation

1. A Domain Specific Language for Enterprise Grade Cloud-Mobile Hybrid Applications, 11th Workshop on Domain-Specific Modeling (DSM), 20112. Power of Clouds In Your Pocket: An Efficient Approach for Cloud Mobile Hybrid Application Development , Cloudcom 20103. Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages , International Workshop on Mobile Computing and Clouds (MobiCloud 2010)

76

MobiCloud is a Cloud-Mobile hybrid application generator

26th July 2012

7726th July 2012

•Front-end is a native Mobile application

•Back-end sits in a cloud, exposed by a service interface

•Both pieces considered the 'app'

Persistent Storage

Service provider

Implementation

Server side

handler

Data Structures

UIService Client

Data Structures

Mobile Device Cloud

Cloud-mobile hybrid application26th July 2012 78

79

MobiCloud Architecture

26th July 2012

26th July 2012 80

MobiCloud DSL

Code Generation Templating Engine

GAE Templates

EC2 Templates

Android Templates

Blackberry Templates

Graphical Composer

Text based Composer

Other Composers

81

MobiCloud DSL

26th July 2012

26th July 2012 82

recipe(:todolist) do metadata({:id => 'task-manager'})

# models model(:task, {:name=>:string,:description => :string, :time => :date,:location => :string}) #controllers controller(:taskhandler) do action :create, :task action :retrieve, :task end

# views view :add_task, {:models =>[:task],:controller => :taskhandler, :action => :create} view :show_tasks, {:models =>[:task],:controller => :taskhandler, :action => :retrieve}end

26th July 2012 83

MobiCloud Tools

26th July 2012 84

MobiCloud Graphical Composer

85

Available publicly at http://mobicloud.knoesis.org

26th July 2012

86

MobiCloud Code Catalog

26th July 2012

87

Available publicly at http://mobicloud-catalog.knoesis.org

26th July 2012

8826th July 2012

MobiCloud has extensions that enable the use of known ontologies

89

A Scenarios in a nutshell

26th July 2012

90

Blood pressure recorder : Personal

Web Application

26th July 2012

91

Objective : Record daily BP values

26th July 2012

Data Driven 4 data items to be recorded and

retrieved (BP figures and date)Simple user interfacePersonal

Private (own) data source

26th July 2012 92

93Visual composition of the blood pressure date recorder

26th July 2012

94

Different Android views, showing the index and the addbp screens

26th July 2012

95

showbp view of Android application

26th July 2012

96

With MobiCloud, this application was built and

deployed under 5 minutes !

26th July 2012

9726th July 2012

MobiCloud is the recipient of the Technology award at the Fukuoka

Ruby Innovators Competition

One of two winners of the technology award from 82 competitors over 9 countries

26th July 2012 98

Practical Applications : SCALE

My Contribution : Concept and Implementation

A helping hand to our biology professor !

1. Identifying and Implementing the Underlying Operators for Nuclear Magnetic Resonance Based Metabolomics Data Analysis, Third International Conference on Bioinformatics and Computational Biology (BICoB-2011)2. The Cloud Agnostic e-Science Analysis Platform, IEEE Internet Computing 2011

26th July 2012 99

SCALE is a DSL based Statistical Application

Generator

SCALE DSL

26th July 2012 100

26th July 2012 101

# load dataoriginal_data = load_data(:raw_data_file,{:format => "csv"})# sum normalizenormalized = sum_normalize(original_data)# Auto scalescaled = auto_scale(normalized)# write the filestore_data(:scaled, scaled)

Supports 3 Target Platforms

26th July 2012 102

10326th July 2012

•Hadoop (Local cluster or Amazon EC2)

•Windows Azure (using the experimental Daytona framework)

•Any desktop OS using Ruby

26th July 2012 104

SCALE Architecture

26th July 2012 105

SCALE DSL

Code Generation Templating Engine

Java (Hadoop) Templates

C# (Azure / Daytona) Templates

Ruby Templates

Graphical Composer

Text based Composer

Other Composers

106

SCALE Tools

26th July 2012

26th July 2012 107

SCALE Graphical Composer

108

Available publicly at http://metabolink.knoesis.org/SCALE

26th July 2012

109

Our friendly biologist can now quickly compose his

programs and run them with any resource available!

26th July 2012

26th July 2012 110

What did we learn from these projects?

26th July 2012 111

Code Metrics comparison

LOC counts of generated

applications

26th July 2012 112

26th July 2012 113

11426th July 2012

115

Significant savings in effort can be

obtained by using DSLs

26th July 2012

116

Effort Comparison – LOC counts in

templates

26th July 2012

11726th July 2012

11826th July 2012

119

The effort required to create the templates

is manageable

26th July 2012

26th July 2012 120

Pla

tfor

m I

ndep

ende

nce

Complexity

Direct Programming

General Programming Language based Frameworks

DSL based Solutions

12126th July 2012

• Overview of Using Abstractions

• Abstractions for program generation

• Abstractions for cloud interaction

122

Preliminaries – Basics of Middleware

26th July 2012

26th July 2012 123

Middleware

APIs

Application 1 Application 2Application

N

Lower level

services

Interface

Lower level

services

Interface

Lower level

services

Interface

Platform 1 Platform 2 Platform M

Using Middleware In the Cloud Context

26th July 2012 124

125

What Operations can we abstract?

26th July 2012

126

Application Deployment

26th July 2012

127

Application Undeployment

26th July 2012

128

Data Snapshots

26th July 2012

129

Additional Benefits

26th July 2012

130

Enforcing / Reusing Patterns

26th July 2012

131

How to Apply Middleware in the

cloud context?

26th July 2012

26th July 2012 132

General Architecture for using Middleware in a cloud context

133

Practical Applications : Altocumulus

26th July 2012

My Contribution : Evolving the concept and major portion of implementation (Member of the 4 person team. Internship work at IBM Research 2009)

1. Toward Cloud-Agnostic Middlewares, OOPSLA, 20092. A Best Practice Model for Cloud Middleware Systems , Best Practices in Cloud Computing: Designing for the Cloud workshop OOPSLA, 2009

134

Cloud Middleware System from IBM

Research

26th July 2012

135

Supported 3 target platforms

26th July 2012

13626th July 2012

• Amazon EC2o Included EC2 clones such as Eucalyptus

• Google App Engine

• IBM HiPODSo IBM private cloud system, providing

infrastructure cloud services

137

Introduced the Concept of Best

Practices

26th July 2012

138

Altocumulus Architecture

26th July 2012

26th July 2012 139

140

Altocumulus Dashboard

26th July 2012

26th July 2012 141

Altocumulus Dashboard – Showing the list of deployments and their status

26th July 2012 142

Pla

tfor

m I

ndep

ende

nce

Complexity

Original Cloud APIs

API Based solutions

Cloud brokers

Altocumulus / Middleware Solutions

Altocumulus technology is now part of the IBM PureSystems Cloud

offering, as part of the IBM Workload Deployer

26th July 2012 143

Publication Coverage

26th July 2012 144

26th July 2012 145

Altocumulus MobiCloud SCALE Others

2009 1. OOPSLA [1]2. OOPSLA cloud

workshop [1]* Altocumulus demonstration

2010 1. IEEE Cloudcom [2]2. MobiCase MobiCloud

workshop [1]* MobiCloud demonstration

2 part article on cloud application modeling in IEEE Internet Computing

2011 1. workshop at SPLASH [1]

2. IEEE COMSOC MMTC E-Letter [1] (invited)

1. BiCob [1]2. IEEE Internet

Computing [1]

2012 Paper under review in IEEE TSC

Total of 11 publications and 2 demonstrations covering this research

26th July 2012 146

• Ajith Ranabahu, Michael Maximilien, Amit Sheth and Krishnaprasad Thirunarayan. A Domain Specific Language for Enterprise Grade Cloud-Mobile Hybrid Applications, 11th Workshop on Domain-Specific Modeling (DSM) 2011 , Portland OR, USA.

• Ashwin Manjunatha, Ajith Ranabahu, Amit Sheth and Krishnaprasad Thirunarayan. Power of Clouds In Your Pocket: An Efficient Approach for Cloud Mobile Hybrid Application Development , 2nd IEEE International Conference on Cloud Computing Technology and Science, 2010, Indianapolis IN, USA. Pages 496-503

• Ajith Ranabahu, Ashwin Manjunatha, Amit Sheth and Krishnaprasad Thirunarayan. Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages , International Workshop on Mobile Computing and Clouds (MobiCloud 2010) ,Santa Clara CA 2010.

Publications

26th July 2012 147

• Ashwin Manjunatha, Paul Anderson, Ajith Ranabahu and Amit Sheth. Identifying and Implementing the Underlying Operators for Nuclear Magnetic Resonance Based Metabolomics Data Analysis, Third International Conference on Bioinformatics and Computational Biology (BICoB-2011), 2011, New Orleans LA, USA. pages 205-209

• Ajith Ranabahu and Amit Sheth. Semantics Centric Solutions for Application and Data Portability in Cloud Computing, 2nd IEEE International Conference on Cloud Computing Technology and Science, 2010, Indianapolis IN, USA. pages 234-241

• Kalpa Gunaratna, Ajith Ranabahu, Paul Anderson and Amit Sheth. A Study in Hadoop Streaming with Matlab for NMR Data Processing , 2nd IEEE International Conference on Cloud Computing Technology and Science, 2010, Indianapolis IN, USA. pages 786-789

• Michael Maximilien, Ajith Ranabahu, Roy Engehausen and Laura Anderson. Toward Cloud-Agnostic Middlewares, 24th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2009, Orlando FL, USA. pages 619-626

Publications (Cont.)

14826th July 2012

• Ajith Ranabahu and Michael Maximilien. A Best Practice Model for Cloud Middleware Systems , Proceedings of the Best Practices in Cloud Computing: Designing for the Cloud workshop at the 24th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) pages 41-51

• Ajith Ranabahu, Paul Anderson and Amit Sheth. The Cloud Agnostic e-Science Analysis Platform, IEEE Internet Computing, vol. 15, no. 6, Nov/Dec. 2011 pages 85-89

• Amit Sheth and Ajith Ranabahu. Semantic Modeling for Cloud Computing, Part 2, IEEE Internet Computing, vol. 14, no. 4, July/Aug 2010 pages 81-84

• Amit Sheth and Ajith Ranabahu. Semantic Modeling for Cloud Computing, Part 1, IEEE Internet Computing, vol. 14, no. 3, May/June 2010 pages 81-83

Publications(Cont.)

26th July 2012 149

Conclusion

26th July 2012 150

Using DSLs to provide domain abstractions is a feasible way to

develop cloud applicationsin a platform agnostic manner

26th July 2012 151

Middleware based process abstractions are a feasible way to deploy and manage applications in the cloud

26th July 2012 152

My Other Research Activities

26th July 2012 153

Year

Res

earc

h an

d C

ontr

ibut

ions

SOA

Annotation

Service Composition

Cloud Middleware

Cloud Application Generation

2007 2008 2009 2010 2011 2012

MediatabilityEvent Detection

SA-WSDL SA-REST Kino Annotation Tools

IBM Sharable Code

IBM Altocumulus

MobiCloud

SCALE

Faceted Search / APIHut

publication

Open source / public tool

Patent

Questions

26th July 2012 154

26th July 2012 155

26th July 2012 156

Thank You

26th July 2012 157

158

Extra Slides

26th July 2012

159

Salesforce Contact Manager : Enterprise

Web application

26th July 2012

160

Objective: View contacts from your Salesforce account

26th July 2012

26th July 2012 161

•Connected to external data sources

•Likely to be shared

•Rigorous security

162

Uses 2nd Generation MobiCloud with the

Salesforce Extension

26th July 2012

163

Text Mode, editing the salesforce contact manager Application – Graphical mode is not active in the advanced mode

26th July 2012

164

Different Android views, showing the index, salesforce_accounts and salesforce_login screens

26th July 2012

top related