semantic centric solutions for application and data
play

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


  1. 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

  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 Cloudcom 2010 2

  3. Challenges in Cloud Computing Cloudcom 2010 3

  4. Cloud Landscape as of Today Cloudcom 2010 4

  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 Cloudcom 2010 5

  6. Objective of Our Research • A methodology to develop applications in a portable manner – Use Semantic technologies to streamline this process Cloudcom 2010 6

  7. Knowing is half the battle ! A Clear Understanding of the Applications Cloudcom 2010 7

  8. Four Types of Semantics for an Application • Inspired by the four types of Semantics for Services 1,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. Cloudcom 2010 8

  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 Cloudcom 2010 9

  10. Partitioning of the Modeling space Cloudcom 2010 10

  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 ! Cloudcom 2010 11

  12. Semantics and Domain Specific Languages Cloudcom 2010 12

  13. Using DSLs to Develop applications • DSL ? – D omain S pecific L anguage – A mini language for a special purpose • Make / Ant • Matlab • Many other examples • Use a DSL to generate an application Cloudcom 2010 13

  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) Cloudcom 2010 14

  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 Cloudcom 2010 15

  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. Cloudcom 2010 16

  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 other UI intensive applications Cloudcom 2010 17

  18. Using the MobiCloud DSL as a Base for Semantics Cloudcom 2010 18

  19. MobiCloud DSL Design principle • Based on Model-View-Controller (MVC) design pattern Model View Controller Cloudcom 2010 19

  20. A very simple “Hello World” Metadata – details that recipe :helloworld do need to be attached to metadata :id => 'helloworld-app' the whole application # models model :greeting, {:message => :string} Models #controllers controller :sayhello do Controllers action :retrieve,:greeting end Linking the model using # views its unique name view :show_greeting, Views {:models =>[:greeting], :controller => :sayhello, :action => :retrieve} end Linking the controller using its unique name Cloudcom 2010 20

  21. Mapping of Hello World to Cloud and Mobile Spaces Model View Controller RESTful RESTful Service Server side Persistent UI Service handler Implementation Storage Client Greeting Data Greeting Data Structures Structure Mobile Device Cloud Cloudcom 2010 21

  22. Breaking the Hello World with Respect to Semantics recipe :helloworld do Non-functional details and Metadata metadata :id => 'helloworld-app' # models model :greeting, {:message => :string} Data Defintions #controllers controller :sayhello do action :retrieve,:greeting Logic and Process end Definitions # views view :show_greeting, {:models =>[:greeting], :controller => :sayhello, :action => :retrieve} end Cloudcom 2010 22

  23. A slightly complicated Example (task manger) 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 ode 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 ode 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 ode 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 ode 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 23

  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”} Cloudcom 2010 24

  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 Cloudcom 2010 25

  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 Cloudcom 2010 26

  27. DSL with Semantics Cloudcom 2010 27

  28. Evaluating the Language is Hard ! • Preliminary code metrics • Not entirely fair – Some generated code such as XML descriptors is not counted Cloudcom 2010 28

  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

  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. Cloudcom 2010 30

  31. Our Broader Vision Cloudcom 2010 31

  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 Cloudcom 2010 32

  33. The Cirrocumulus Project DSL Based Development fits in here Cloudcom 2010 33

  34. Comparison with Other Commercial Efforts Deltacloud Libcloud Cirrocumulus http://deltacloud.org/ (http://incubator.apache.org/libcloud/) • Developer centric • Developer centric • Developer centric service program abstraction over abstraction over abstraction over applications and Infrastructure Infrastructure cloud operations cloud operations cloud operations • Supports IaaS as • Support in only well as PaaS Python and Java Clouds • Code can be generated in any language Cloudcom 2010 34

  35. The Cirrocumulus Project (Cont) LibCloud / DeltaCloud can be used in building this component Cloudcom 2010 35

  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/ Cloudcom 2010 36

  37. Time for Questions ? Cloudcom 2010 38

  38. Thank you Cloudcom 2010 39

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend