Difference between revisions of "Modeling for cloud part1"

From Knoesis wiki
Jump to: navigation, search
m
Line 1: Line 1:
<span style="font-size:24pt;color:purple">Semantic Modeling for Cloud Computing</span><br />
+
<span style="font-size:264pt;color:purple">Semantic Modeling for Cloud Computing</span><br />
 
Amit Sheth and Ajith Ranabahu • <i>Wright State University</i><br />
 
Amit Sheth and Ajith Ranabahu • <i>Wright State University</i><br />
 
<p style="float:left;width:300px">
 
<p style="float:left;width:300px">
Line 41: Line 41:
 
via Web services, but these service interfaces  
 
via Web services, but these service interfaces  
 
differ between vendors. The operations’ seman-</p>
 
differ between vendors. The operations’ seman-</p>
 +
<p style="float:left;width:300px">tics, however, are similar. Metadata added
 +
through annotations pointing to generic opera-
 +
tional models would play a key role in consoli-
 +
dating these APIs and enable interoperability
 +
among the heterogeneous cloud environments.
 +
Functional Portability
 +
From a perspective of the cloud landscape
 +
based on the language abstraction and type
 +
of semantics (that is, viewing the cube in Fig-
 +
ure 1 from the top), we see that opportunities
 +
exist to use semantic models to define applica-
 +
tions’ functional aspects in a platform-agnostic
 +
manner. In most cases, however, converting a
 +
high-level model directly to executable arti-
 +
facts pollutes both representations. Intermedi-
 +
ate representations are important to provide a
 +
convenient conversion.
 +
Applying high-level modeling to describe an
 +
application’s functional aspects isn’t new. Many
 +
software development companies have been
 +
using UML to model application functionality
 +
at a high level and use artifacts derived from
 +
these models to drive development. This process
 +
is commonly called model-driven development.
 +
This is an example of using high-level models to
 +
derive fine-grain artifacts. UML models usually
 +
don’t include code, so you can use them only
 +
to generate a skeletal application. That is, low-
 +
level details are deliberately kept away from the
 +
high-level models.
 +
UML models, however, are inherently bound
 +
with object-oriented languages, and UML-
 +
driven development processes depend heavily
 +
on advanced tools (for example, IBM’s Ratio-
 +
nal Rose; www-01.ibm.com/software/awdtools/
 +
developer/rose). This limits UML’s applicability.
 +
A popular alternative to such tool-dependent
 +
heavy upfront models is domain-specific lan-
 +
guages (DSLs). Their popularity is due partly </p>

Revision as of 16:23, 13 July 2010

Semantic Modeling for Cloud Computing
Amit Sheth and Ajith Ranabahu • Wright State University

Part 1 of this two-part article discussed challenges related to cloud computing, cloud interoperability, and multidimen- sional analysis of cloud-modeling requirements (see the May/June issue). Here, we look more specifically at areas in which semantic models can support cloud computing.

Opportunities for Semantic Models in Cloud Computing
Semantic models are helpful in three aspects of cloud computing. The first is functional and nonfunctional definitions. The ability to define application functionality and quality-of-service details in a platform-agnostic manner can immensely benefit the cloud community. This is particu- larly important for porting application code horizontally—that is, across silos. Lightweight semantics, which we describe in detail later, are particularly applicable. The second aspect is data modeling. A crucial difficulty developers face is porting data hori- zontally across clouds. For example, moving data from a schema-less data store (such as Google Bigtable1) to a schema-driven data store such as a relational database presents a significant challenge. For a good overview of this concern, see the discussion of customer scenarios in the Cloud Computing User Cases White Paper (www. scr ibd.com/doc/18172802/Cloud-Comput ing -Use-Cases-Whitepaper). The root of this dif- ficulty is the lack of a platform-agnostic data model. Semantic modeling of data to provide a platform-independent data representation would be a major advantage in the cloud space. The third aspect is service description enhancement. Clouds expose their operations via Web services, but these service interfaces differ between vendors. The operations’ seman-

tics, however, are similar. Metadata added through annotations pointing to generic opera- tional models would play a key role in consoli- dating these APIs and enable interoperability among the heterogeneous cloud environments. Functional Portability From a perspective of the cloud landscape based on the language abstraction and type of semantics (that is, viewing the cube in Fig- ure 1 from the top), we see that opportunities exist to use semantic models to define applica- tions’ functional aspects in a platform-agnostic manner. In most cases, however, converting a high-level model directly to executable arti- facts pollutes both representations. Intermedi- ate representations are important to provide a convenient conversion. Applying high-level modeling to describe an application’s functional aspects isn’t new. Many software development companies have been using UML to model application functionality at a high level and use artifacts derived from these models to drive development. This process is commonly called model-driven development. This is an example of using high-level models to derive fine-grain artifacts. UML models usually don’t include code, so you can use them only to generate a skeletal application. That is, low- level details are deliberately kept away from the high-level models. UML models, however, are inherently bound with object-oriented languages, and UML- driven development processes depend heavily on advanced tools (for example, IBM’s Ratio- nal Rose; www-01.ibm.com/software/awdtools/ developer/rose). This limits UML’s applicability. A popular alternative to such tool-dependent heavy upfront models is domain-specific lan- guages (DSLs). Their popularity is due partly