SlideShare uma empresa Scribd logo
1 de 41
MobiCloudTowards Cloud Mobile Hybrid ApplicationGeneration using Semantically Enriched DomainSpecific Languages 1 Ajith H. Ranabahu, Amit Sheth, AshwinManjunatha, KrishnaprasadThirunarayanThe Ohio Center of Excellence in Knowledge-enabled Computing -Kno.e.sis Wright State University AjithRanabahu, Amit Sheth, AshwinManjunatha, and KrishnaprasadThirunarayan, 'Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages', International Workshop on Mobile Computing and Clouds (MobiCloud 2010), Santa Clara, CA, October 28, 2010 http://knoesis.org/library/resource.php?id=865
Agenda What are Cloud-Mobile hybrids ? Why are they hard to build ? Building Cloud-Mobile hybrids with DSLs Pros and cons Current DSL and tooling Semantic Enhancements Our vision Cirrocumulus project and the role of MobiCloud Questions 2
What are Cloud-Mobile Hybrids ? 3
Portability Computing Power Scalable On-demand Economical Portable Ubiquitous Connected Spectrum of Computing Power 4
Cloud-Mobile Hybrids (CMH) ? Applications that span over multiple devices Back-end in Cloud  Front-end in a mobile device Both components needed for the app to function Front-end is not just a webpage ! A native iPhone / Android / Blackberry app 5
Simple Example The Facebook App The Facebook client you have in your smart phone ! Mobile front-end for Facebook Most Facebook activity happens via Mobile devices ! Many actions need extensive processing in the Facebook backend Both parts (back-end and the front-end) required for the complete experience 6
Another Research Oriented Example Privacy score1 Introduced by IBM researchers  Measures relative exposure of private data on a social network Provides a similar number to “credit score” Requires heavy calculations in the back-end Front-end is simply one number ! Perfect for a mobile device ! 7 1. A Framework for Computing the Privacy Scores of Users in Online Social Networks,      Kun Liu,  EvimariaTerzi      Ninth IEEE International Conference on Data Mining, 2009
Are CMH Apps hard to build ? Yes  - very much !! Clouds are heterogeneous Write the back-end to suit Amazon – You can’t move to Google !! Same in mobile devices Need to write different apps for different devices ! Android / iPhone / Blackberry are all different 8
Our solution to this Problem… 9
Use a DSL DSL ? Domain Specific Language  A mini language for a special purpose Make / Ant  Matlab Many other examples Use a DSL to generate  an application 10
What changes by using a DSL ? DSLs are abstract Reduced complexity No separation between front-end / back-end No service interfaces to worry about (auto generated) Communication interfaces – a major source of errors and incompatibilities Complexity reduced further 11
What changes by using a DSL ? (Cont) Generators take care of multiple front-ends / back-ends Generate apps for Amazon, Google, Android, Blackberry using one script 12
A birds-eye view of what we do  DSL Script Compiler/Generator Cloud    Mobile  Hybrid Application 13
Is this the silver bullet ? Nope ! Less control over the code E.g. Extensive GUI customization and device integration not possible Covers only the 80% case E.g. Not suitable for games or other UI intensive applications 14
Our current DSL 15
DSL design principle Based on Model-View-Controller (MVC) design pattern 16 Model View Controller
A very simple “Hello World” 17 Metadata – details that need to be attached to  the whole application 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 Linking the model using  its unique name Views Linking the controller using  its unique name
Mapping of Hello World to Cloud and Mobile Spaces Model View Controller Persistent Storage UI Server side handler RESTful Service Client RESTful Service Implementation Greeting Data Structures Greeting Data Structure Mobile Device Cloud
A slightly complicated Example (task manger) 19 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,:todoitem     action :retrieve,:todoitem     action :update,:todoitem     action :delete,:todoitem   end   # views    view :todo_add, {:models >[:todoitem],:controller => :todohandler,:action => :create}   view :todo_show, {:models =>[:todoitem],:controller => :todohandler,:action => :retrieve} end
Regular development  vs DSL for CMH Regular Development	 Developed as two applications Different platforms need new effort. Significant effort in creating code and other artifacts Highly customizable	 DSL based Development Developed as a single application Generators	create functionally equivalent applications for multiple platforms Minimum effort in creating all required artifacts Limited customization
Other Benefits of DSL Based Development Convenient integration of other features Location based services Integration with available location sensors, e.g  GPS Non functional features Security Social Network features Publish to Facebook, Twitter etc
Current MobiCloud Architecture 22 Android Platform Generator 1 (Android) Text Editor Object Model Blackberry Platform  Generator 2 (Blackberry) Domain Specific  Language (DSL) Script Parser Web Based  Graphical User Interface  GAE Platform Generator 3 (GAE) Integrated Development Environment (IDE) based Graphical User Interface Amazon EC2 Platform Generator 4 (Amazon EC2)
Current MobiCloudWizard Interface Step 3 : Download the code Step 1 : Write your code The downloaded code can be compiled  to create an executable  application using relevant development kit Step 2 : Select the targets
MobiCloud Tools Web based Editor Available at http://knoesis.org/mobicloud Free to use Plans to make the code available as opensource soon ! More details in our technical report and CloudCom papers (to be published, seeLhttp://knoesis.org/library) 24
Switching Gears : The Modeling Space and the  Role of Semantics
The edge in Semantics 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
Four Types of Semantics for an Application ,[object Object]
 Enables a clear separation of issuesTypically in both server and client representing  Data structures.  Described In Models Associated with the application, typically via the metadata tags Typically  defines controller logic and resides in the server side. Included in both the controller and the view Usually aspects that are layered such as security.  May be associated with controllers as well as metadata “Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, Composition and Orchestration,” AmitSheth 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’”,  AbhijitPatil, SwapnaOundhakar,AmitSheth, and KunalVerma, in proceedings, 13th International Conference on World Wide Web (WWW 2004), New York, NY, 2004.
Partitioning of the Modeling space Current MobiCloud DSL Planned coverage of MobiCloud
Where can Semantics Help ? 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”}
Where can Semantics Help ? (Cont) Non-functional Capabilities Attach non-functional configurations (e.g. Security) via profiles Define abstract profiles using semantics The generator can insertthe 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
Where can Semantics Help ? (Cont) 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
DSL with Semantics
Our Vision and the Role of  MobiCloud
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
MobiCloud fits in here The Cirrocumulus Project
Comparison with Other Commercial Efforts Deltacloud http://deltacloud.org/ Cirrocumulus / MobiCloud Libcloud(http://incubator.apache.org/libcloud/) Developer centric service abstraction over Infrastructure cloud operations Developer centric program abstraction over Infrastructure cloud operations Support in only Python and Java ,[object Object]
Supports IaaS as well as PaaS Clouds
Code can be generated in any language,[object Object]
References / More details Technical report on MobiCloud http://knoesis.wright.edu/library/publications/MobiCloud.pdf Publicly hosted MobiCloud tool http://knoesis.org/mobicloud Code repository Coming soon ! Privacy score paper http://portal.acm.org/citation.cfm?id=1674659.1677075 38
Researchers 39 Ajith Ranabahu Amit Sheth Ashwin Manjunatha Krishnaprasad Thirunarayan

Mais conteúdo relacionado

Mais procurados

Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...Frederik Bisback
 
Find the right mobile app architecture for your business [detailed guide]
Find the right mobile app architecture for your business [detailed guide]Find the right mobile app architecture for your business [detailed guide]
Find the right mobile app architecture for your business [detailed guide]Katy Slemon
 
Latest Trends in Technology: BigData Analytics, Virtualization, Cloud Computi...
Latest Trends in Technology:BigData Analytics, Virtualization, Cloud Computi...Latest Trends in Technology:BigData Analytics, Virtualization, Cloud Computi...
Latest Trends in Technology: BigData Analytics, Virtualization, Cloud Computi...Abzetdin Adamov
 
Latest trend in IT industry
Latest trend in IT industryLatest trend in IT industry
Latest trend in IT industryfrank muse
 
Flying Pixels Ent Apps Jeremy Chone
Flying Pixels Ent Apps Jeremy ChoneFlying Pixels Ent Apps Jeremy Chone
Flying Pixels Ent Apps Jeremy Chonerajivmordani
 
Building a Startup for the Mobile-first, Cloud-first World
Building a Startup for the Mobile-first, Cloud-first WorldBuilding a Startup for the Mobile-first, Cloud-first World
Building a Startup for the Mobile-first, Cloud-first WorldNick Landry
 

Mais procurados (8)

Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
Deliver an Enhanced User Experience by Combining Azure, Teams and the Microso...
 
Find the right mobile app architecture for your business [detailed guide]
Find the right mobile app architecture for your business [detailed guide]Find the right mobile app architecture for your business [detailed guide]
Find the right mobile app architecture for your business [detailed guide]
 
Latest Trends in Technology: BigData Analytics, Virtualization, Cloud Computi...
Latest Trends in Technology:BigData Analytics, Virtualization, Cloud Computi...Latest Trends in Technology:BigData Analytics, Virtualization, Cloud Computi...
Latest Trends in Technology: BigData Analytics, Virtualization, Cloud Computi...
 
Latest trend in IT industry
Latest trend in IT industryLatest trend in IT industry
Latest trend in IT industry
 
Google MLkit
Google MLkitGoogle MLkit
Google MLkit
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Flying Pixels Ent Apps Jeremy Chone
Flying Pixels Ent Apps Jeremy ChoneFlying Pixels Ent Apps Jeremy Chone
Flying Pixels Ent Apps Jeremy Chone
 
Building a Startup for the Mobile-first, Cloud-first World
Building a Startup for the Mobile-first, Cloud-first WorldBuilding a Startup for the Mobile-first, Cloud-first World
Building a Startup for the Mobile-first, Cloud-first World
 

Destaque (7)

Harbour Grand Kowloon
Harbour Grand KowloonHarbour Grand Kowloon
Harbour Grand Kowloon
 
Learning Technologies Anytime Anywhere Haggard For Video Arts 4 March 09
Learning Technologies Anytime Anywhere Haggard For Video Arts 4 March 09Learning Technologies Anytime Anywhere Haggard For Video Arts 4 March 09
Learning Technologies Anytime Anywhere Haggard For Video Arts 4 March 09
 
Onlinepaket
OnlinepaketOnlinepaket
Onlinepaket
 
Ausschreibung rad 2013
Ausschreibung rad 2013Ausschreibung rad 2013
Ausschreibung rad 2013
 
ÖW Marketingkampagne Sommer 2014 Russische Föderation
ÖW Marketingkampagne Sommer 2014 Russische FöderationÖW Marketingkampagne Sommer 2014 Russische Föderation
ÖW Marketingkampagne Sommer 2014 Russische Föderation
 
Slides Aula Unidade 3
Slides Aula Unidade 3Slides Aula Unidade 3
Slides Aula Unidade 3
 
Usability studie inkl._costper_click_2013
Usability studie inkl._costper_click_2013Usability studie inkl._costper_click_2013
Usability studie inkl._costper_click_2013
 

Semelhante a MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages

Cloud computing on smartphone
Cloud computing on smartphoneCloud computing on smartphone
Cloud computing on smartphoneAlexander Decker
 
Development of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkDevelopment of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkSinisa Vukovic
 
cloud computing and android
cloud computing and androidcloud computing and android
cloud computing and androidMohit Singh
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment ToolkitBret Piatt
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteLorenzo Barbieri
 
DSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps MashupsDSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps Mashupsaliraza786
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Sreeni Pamidala
 
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTMLMobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTMLMindteck (India) Limited
 
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)gjuljo
 
Seminar_report on Microsoft Azure Service
Seminar_report on Microsoft Azure ServiceSeminar_report on Microsoft Azure Service
Seminar_report on Microsoft Azure ServiceANAND PRAKASH
 
A methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentIAEME Publication
 
A methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentIAEME Publication
 
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET Journal
 
A Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdfA Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdflubnayasminsebl
 

Semelhante a MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages (20)

Cloud computing on smartphone
Cloud computing on smartphoneCloud computing on smartphone
Cloud computing on smartphone
 
CloudBerry
CloudBerryCloudBerry
CloudBerry
 
Colloquium Report
Colloquium ReportColloquium Report
Colloquium Report
 
Development of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkDevelopment of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend Framework
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
cloud computing and android
cloud computing and androidcloud computing and android
cloud computing and android
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation Keynote
 
DSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps MashupsDSL (Domain Specific Language) for Maps Mashups
DSL (Domain Specific Language) for Maps Mashups
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTMLMobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
 
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
 
call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Seminar_report on Microsoft Azure Service
Seminar_report on Microsoft Azure ServiceSeminar_report on Microsoft Azure Service
Seminar_report on Microsoft Azure Service
 
A methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application development
 
A methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application development
 
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
 
A Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdfA Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdf
 

Último

Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 

Último (20)

Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 

MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages

  • 1. MobiCloudTowards Cloud Mobile Hybrid ApplicationGeneration using Semantically Enriched DomainSpecific Languages 1 Ajith H. Ranabahu, Amit Sheth, AshwinManjunatha, KrishnaprasadThirunarayanThe Ohio Center of Excellence in Knowledge-enabled Computing -Kno.e.sis Wright State University AjithRanabahu, Amit Sheth, AshwinManjunatha, and KrishnaprasadThirunarayan, 'Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages', International Workshop on Mobile Computing and Clouds (MobiCloud 2010), Santa Clara, CA, October 28, 2010 http://knoesis.org/library/resource.php?id=865
  • 2. Agenda What are Cloud-Mobile hybrids ? Why are they hard to build ? Building Cloud-Mobile hybrids with DSLs Pros and cons Current DSL and tooling Semantic Enhancements Our vision Cirrocumulus project and the role of MobiCloud Questions 2
  • 3. What are Cloud-Mobile Hybrids ? 3
  • 4. Portability Computing Power Scalable On-demand Economical Portable Ubiquitous Connected Spectrum of Computing Power 4
  • 5. Cloud-Mobile Hybrids (CMH) ? Applications that span over multiple devices Back-end in Cloud Front-end in a mobile device Both components needed for the app to function Front-end is not just a webpage ! A native iPhone / Android / Blackberry app 5
  • 6. Simple Example The Facebook App The Facebook client you have in your smart phone ! Mobile front-end for Facebook Most Facebook activity happens via Mobile devices ! Many actions need extensive processing in the Facebook backend Both parts (back-end and the front-end) required for the complete experience 6
  • 7. Another Research Oriented Example Privacy score1 Introduced by IBM researchers Measures relative exposure of private data on a social network Provides a similar number to “credit score” Requires heavy calculations in the back-end Front-end is simply one number ! Perfect for a mobile device ! 7 1. A Framework for Computing the Privacy Scores of Users in Online Social Networks, Kun Liu, EvimariaTerzi  Ninth IEEE International Conference on Data Mining, 2009
  • 8. Are CMH Apps hard to build ? Yes - very much !! Clouds are heterogeneous Write the back-end to suit Amazon – You can’t move to Google !! Same in mobile devices Need to write different apps for different devices ! Android / iPhone / Blackberry are all different 8
  • 9. Our solution to this Problem… 9
  • 10. Use a DSL DSL ? Domain Specific Language A mini language for a special purpose Make / Ant Matlab Many other examples Use a DSL to generate an application 10
  • 11. What changes by using a DSL ? DSLs are abstract Reduced complexity No separation between front-end / back-end No service interfaces to worry about (auto generated) Communication interfaces – a major source of errors and incompatibilities Complexity reduced further 11
  • 12. What changes by using a DSL ? (Cont) Generators take care of multiple front-ends / back-ends Generate apps for Amazon, Google, Android, Blackberry using one script 12
  • 13. A birds-eye view of what we do DSL Script Compiler/Generator Cloud Mobile Hybrid Application 13
  • 14. Is this the silver bullet ? Nope ! Less control over the code E.g. Extensive GUI customization and device integration not possible Covers only the 80% case E.g. Not suitable for games or other UI intensive applications 14
  • 16. DSL design principle Based on Model-View-Controller (MVC) design pattern 16 Model View Controller
  • 17. A very simple “Hello World” 17 Metadata – details that need to be attached to the whole application 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 Linking the model using its unique name Views Linking the controller using its unique name
  • 18. Mapping of Hello World to Cloud and Mobile Spaces Model View Controller Persistent Storage UI Server side handler RESTful Service Client RESTful Service Implementation Greeting Data Structures Greeting Data Structure Mobile Device Cloud
  • 19. A slightly complicated Example (task manger) 19 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,:todoitem action :retrieve,:todoitem action :update,:todoitem action :delete,:todoitem end # views view :todo_add, {:models >[:todoitem],:controller => :todohandler,:action => :create} view :todo_show, {:models =>[:todoitem],:controller => :todohandler,:action => :retrieve} end
  • 20. Regular development vs DSL for CMH Regular Development Developed as two applications Different platforms need new effort. Significant effort in creating code and other artifacts Highly customizable DSL based Development Developed as a single application Generators create functionally equivalent applications for multiple platforms Minimum effort in creating all required artifacts Limited customization
  • 21. Other Benefits of DSL Based Development Convenient integration of other features Location based services Integration with available location sensors, e.g GPS Non functional features Security Social Network features Publish to Facebook, Twitter etc
  • 22. Current MobiCloud Architecture 22 Android Platform Generator 1 (Android) Text Editor Object Model Blackberry Platform Generator 2 (Blackberry) Domain Specific Language (DSL) Script Parser Web Based Graphical User Interface GAE Platform Generator 3 (GAE) Integrated Development Environment (IDE) based Graphical User Interface Amazon EC2 Platform Generator 4 (Amazon EC2)
  • 23. Current MobiCloudWizard Interface Step 3 : Download the code Step 1 : Write your code The downloaded code can be compiled to create an executable application using relevant development kit Step 2 : Select the targets
  • 24. MobiCloud Tools Web based Editor Available at http://knoesis.org/mobicloud Free to use Plans to make the code available as opensource soon ! More details in our technical report and CloudCom papers (to be published, seeLhttp://knoesis.org/library) 24
  • 25. Switching Gears : The Modeling Space and the Role of Semantics
  • 26. The edge in Semantics 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
  • 27.
  • 28. Enables a clear separation of issuesTypically in both server and client representing Data structures. Described In Models Associated with the application, typically via the metadata tags Typically defines controller logic and resides in the server side. Included in both the controller and the view Usually aspects that are layered such as security. May be associated with controllers as well as metadata “Semantic Web Process Lifecycle: Role of Semantics in Annotation, Discovery, Composition and Orchestration,” AmitSheth 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’”, AbhijitPatil, SwapnaOundhakar,AmitSheth, and KunalVerma, in proceedings, 13th International Conference on World Wide Web (WWW 2004), New York, NY, 2004.
  • 29. Partitioning of the Modeling space Current MobiCloud DSL Planned coverage of MobiCloud
  • 30. Where can Semantics Help ? 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”}
  • 31. Where can Semantics Help ? (Cont) Non-functional Capabilities Attach non-functional configurations (e.g. Security) via profiles Define abstract profiles using semantics The generator can insertthe 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
  • 32. Where can Semantics Help ? (Cont) 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
  • 34. Our Vision and the Role of MobiCloud
  • 35. 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
  • 36. MobiCloud fits in here The Cirrocumulus Project
  • 37.
  • 38. Supports IaaS as well as PaaS Clouds
  • 39.
  • 40. References / More details Technical report on MobiCloud http://knoesis.wright.edu/library/publications/MobiCloud.pdf Publicly hosted MobiCloud tool http://knoesis.org/mobicloud Code repository Coming soon ! Privacy score paper http://portal.acm.org/citation.cfm?id=1674659.1677075 38
  • 41. Researchers 39 Ajith Ranabahu Amit Sheth Ashwin Manjunatha Krishnaprasad Thirunarayan
  • 42. Time for Questions ?More at http://knoesis.orghttp://knoesis.wright.edu/research/srl/projects/mobi-cloud/The Ohio Center of Excellence in Knowledge-enabled Computing - Kno.e.sis 40

Notas do Editor

  1. welcome
  2. This is our agenda – first a brief overview of what are cloud mobile hybrids and why they are hard to build. Then we discuss a Domain specific language based system of developing these hybrid applications. Later we introduce semantics and finish with a discussion of what we have envisioned for the future.
  3. The spectrum of computing power has portability increasing in one direction and computing power increasing in the other direction. At the portable end ubiquitous mobile devices are present with ever increasing processing power and mobility. On the other end there is a boom in high end data centers where cheap computing power is available for extreme scaling and offered as pay-as-you-go resources.
  4. In the light of these changes we see a new breed of applications which we name “Cloud mobile hybrid” applications. These applications span over multiple devices , the back-end on a Cloud and front-end typically provided as a mobile device application. Both these components make up the application as a whole. Note that the state-of-the-art is to provide a native application that takes advantage over the device capabilities. Mobile enabled web pages are no longer considered to have sufficient sophistication.
  5. Here’s a naïve example. Think of the facebook app in your smart phone. This app is a mobile front-end for Facebook. Any action you do – say marking a post as a ‘like’ triggers a heavy process in the cloud based (?) back-end. Without both pieces Facebook is not Facebook !
  6. Moving to a new, somewhat fictitious example, consider privacy score, that measures relative exposure of private data on a social network. This is an experimental measure introduced by IBM researchers. It takes a large number of computations to find this score although the final result is small and ideally presented through a mobile device (the current interactions of the social networks is primarily through mobile devices). This is a perfect example of a CMH application.
  7. The question is “are these things hard to build ?” The answer is indeed yes. This difficulty is in two frontsThe clouds are heterogeneous and vendor locked. Hence the back-end is expensive to port.The same is true for the mobile end since almost all mobile development platforms are different and vendorlocked
  8. GAE = Google AppEngine
  9. 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.
  10. 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.