Saturday 14 January 2012

OODBMS(6)


6. Distributed Object Oriented Systems Standards (OMG & CORBA)

January-2004 [31]

1.
a)         For which category of applications, the use of object data management is more appropriate? State any three relevant applications pertaining to the use of object data management principles.                                                                                    [4]
2.
a)         Discuss the main concepts of ODMG object model. Give an example to illustrate each of the concepts.                                                                                                               [8]
b)         Discuss the salient differences between static and dynamic service invocations mechanisms In CORBA?                                                                                     [5]
c)         Discuss the role of OMG In forming standards In Object Oriented (OO) technology.      [5]
3.
b)         Explain how does ODMG group by clause differ from the SQL group by clause? Give an example to illustrate your answer.                                                                                 [9]

July-2004 [16]

1.
d)         Discuss the main concepts of ODMG object model.                                                      [4]

ans :-  The Object Data Management Group (ODMG) was conceived in the summer of 1991 at a breakfast with object database vendors that was organized by Rick Cattell of Sun Microsystems. In 1998, the ODMG changed its name from the Object Database Management Group to reflect the expansion of its efforts to include specifications for both object database and object-relational mapping products.
The primary goal of the ODMG was to put forward a set of specifications that allowed a developer to write portable applications for object database and object-relational mapping products. In order to do that, the data schema, programming language bindings, and data manipulation and query languages needed to be portable.
Between 1993 and 2001, the ODMG published five revisions to its specification. The last revision was ODMG version 3.0, after which the group disbanded.

Major components of the ODMG 3.0 specification

  • Object Model. This was based on the Object Management Group's Object Model. The OMG core model was designed to be a common denominator for object request brokers, object database systems, object programming languages, etc. The ODMG designed a profile by adding components to the OMG core object model.
  • Object Specification Languages. The ODMG Object Definition Language (ODL) was used to define the object types that conform to the ODMG Object Model. The ODMG Object Interchange Format (OIF) was used to dump and load the current state to or from a file or set of files.
  • Object Query Language (OQL). The ODMG OQL was a declarative (nonprocedural) language for query and updating. It used SQL as a basis, where possible, though OQL supports more powerful object-oriented capabilities.
  • C++ Language Binding. This defined a C++ binding of the ODMG ODL and a C++ Object Manipulation Language (OML). The C++ ODL was expressed as a library that provides classes and functions to implement the concepts defined in the ODMG Object Model. The C++ OML syntax and semantics are those of standard C++ in the context of the standard class library. The C++ binding also provided a mechanism to invoke OQL.
  • Smalltalk Language Binding. This defined the mapping between the ODMG ODL and Smalltalk, which was based on the OMG Smalltalk binding for the OMG Interface Definition Language (IDL). The Smalltalk binding also provided a mechanism to invoke OQL.
  • Java Language Binding. This defined the binding between the ODMG ODL and the Java programming language as defined by the Java 2 Platform. The Java binding also provided a mechanism to invoke OQL.

6.
a)         Discuss the salient differences between static and dynamic service invocations mechanism in CORBA?                                                                                       [7]
c)         Discuss the role of OMG in forming standards in OOP technology.                                 [5]

January-2005 [18]

4.
a)         Describe in brief, the need of formulating middleware standards like (CORBA) in distributed object-oriented systems.                                                                                 [6]
b)         Explain in brief the architecture of CORBA with special reference to ORB, IDL and protocols.                                                                                                                   [6]
c)         What are the roles of stubs and skeletons? What is object marshalling?                         [6]

July-2005 [14]

4.
b)         State the functions of ODMG object definition and object management languages.       [8]
7.
c)         State the difference between static and dynamic service invocation mechanism in CORBA.                                                                                                          [6]

January-2006 [18]

4.
a)         What is OMG? Explain in brief.                                                                                   [3]
ans :--  Object Management Group (OMG) is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling (programs, systems and business processes) and model-based standards.

Overview

OMG provides only specifications, and does not provide implementations. But before a specification can be accepted as a standard by OMG, the members of the winning submitter team must guarantee that they will bring a conforming product to market within a year. This is an attempt to prevent unimplemented (and unimplementable) standards.
Other private companies or open source groups are encouraged to produce conforming products and OMG is attempting to develop mechanisms to enforce true interoperability.

History

Founded in 1989 by eleven companies (including Hewlett-Packard, IBM, Sun Microsystems, Apple Computer, American Airlines and Data General), OMG's initial focus was to create a heterogeneous distributed object standard. The founding executive team included Christopher Stone, Richard Soley, Bill Hoffman and John Slitz. The current leadership includes Chairman and CEO Richard Soley, President and COO Bill Hoffman and Vice President and Technical Director Andrew Watson.
The goal was a common portable and interoperable object model with methods and data that work using all types of development environments on all types of platforms.
Today, over 800 companies from both the computer industry and software-using companies from other industries are members of OMG. Since 2000 the OMG's International Headquarters are located in Needham, Massachusetts.
As of June 2006 the latest version of UML is 2.1, MOF is 2.0 and XMI is 2.1.
In 2006 the BPMN language specification was adopted as a standard by OMG.
In 2007 the Business Motivation Model (BMM) was adopted as a standard by the OMG. The BMM is a metamodel that provides a vocabulary for corporate governance and strategic planning and is particularly relevant to businesses undertaking governance, regulatory compliance, business transformation and strategic planning activities.
In 2009 OMG, together with the Software Engineering Institute at Carnegie Mellon, launched the Consortium of IT Software Quality (CISQ). CISQ brings together industry executives from Global 2000 IT organizations, system integrators, outsourcers, and package vendors to jointly address the challenge of standardizing the measurement of IT software quality and to promote a market-based ecosystem to support its deployment.

OMG products

Common Object Request Broker Architecture

At its founding, OMG set out to create the initial Common Object Request Broker Architecture (CORBA) standard which appeared in 1991. As of 31 March 2003, the latest standard is CORBA 3.0. OMG has also developed a core set of standards adapting CORBA for embedded and real-time systems. An implementation of standard CORBA is found in the TANGO [1] software, used in five european particle accelerators (synchrotrons). Implementations of real time CORBA are widely used in control systems in ships and aircraft.

Data Distribution Service

Data Distribution Service for real-time systems (DDS) is a specification of a publish/subscribe middleware for distributed systems created in response to the need to augment CORBA with a data-centric publish-subscribe specification. [2]

Model Driven Architecture

OMG evolved towards modeling standards by creating the standard for Unified Modeling Language (UML) followed by related standards for
These together provide the foundation for Model Driven Architecture (MDA), and related set of standards, building upon the success of UML and MOF.
Systems Modeling Language (SysML), a modeling language based on UML for use in Systems Engineering, has been standardized in collaboration with INCOSE.
Significant progress has also been made in bringing the world of UML modeling and the Semantic Web together through the adoption of the Ontology Definition Metamodel which relates UML models in a standard way with RDF and Web Ontology Language (OWL) models.
Semantics of Business Vocabulary and Business Rules (SBVR) is a landmark for the OMG, the first OMG specification to incorporate the formal use of natural language in modeling and the first to provide explicitly a model of formal logic. Based on a fusion of linguistics, logic, and computer science, and two years in preparation, SBVR provides a way to capture specifications in natural language and represent them in formal logic so they can be machine-processed. SBVR is an integral part of MDA.

Architecture Driven Modernization

Architecture Driven Modernization (ADM) is the reverse of MDA. ADMTF is an OMG group similar to ADTF with high potential.
Knowledge Discovery Metamodel (KDM), a common intermediate representation for existing software systems and their operating environments. Knowledge Discovery Metamodel is designed as the OMG's foundation for software modernization and software assurance. Knowledge Discovery Metamodel uses Meta-Object Facility to define an XMI interchange format between tools that work with existing software and an abstract interface for the next-generation assurance and modernization tools.
The Software Process Engineering Metamodel (SPEM) is an OMG-standard for Meta-Process Modeling.
Abstract Syntax Tree Metamodel (ASTM), a modeling language for fine grained reverse engineering.
Semantics of Business Vocabulary and Business Rules (SBVR) and KDM are designed as two parts of a unique OMG Technology Stack for software analytics related to existing software systems. KDM defines an ontology related to software artifacts and thus provides an initial formalization of the information related to a software system. SBVR is further used to formalize complex compliance rules related to the software.

Domain models

  • Verticals : Considerable progress has also been made in developing vertical model-based standards in the healthcare, finance, telecommunications, manufacturing, software-defined radio, space/ground systems communications and some dozen other technology areas.

Software assurance and regulatory compliance

New activities have been initiated to address important concerns of Regulatory Compliance and Software Assurance, building upon the base standards of MDA.

Certification

OMG offers a number of professional certifications:
  • OCRES - OMG Certified Real-time and Embedded Systems Specialist[3]
  • OCUP - OMG Certified UML Professional[4]
  • OCEB - OMG Certified Expert in Business Process Management (BPM)[5]
  • OCSMP - OMG Certified Systems Modeling Professional[6]


b)         What is an ORB and what are its functions?                                                                 [3]
ans :-- In Common Object Request Broker Architecture (CORBA), an Object Request Broker (ORB) is the programming that acts as a "broker" between a client request for a service from a distributed object or component and the completion of that request. Having ORB support in a network means that a client program can request a service without having to understand where the server is in a distributed network or exactly what the interface to the server program looks like. Components can find out about each other and exchange interface information as they are running.
CORBA's ORB may be thought of as strategic middleware that is more sophisticated conceptually and in its capabilities than earlier middleware, including Remote Procedure Calls (RPCs), message-oriented middleware, database stored procedures, and peer-to-peer

Learn More

services.
An ORB uses the CORBA Interface Repository to find out how to locate and communicate with a requested component. When creating a component, a programmer uses either CORBA's Interface Definition Language (IDL) to declare its public interfaces or the compiler of the programming language translates the language statements into appropriate IDL statements. These statements are stored in the Interface Repository as metadata or definitions of how a component's interface works.
In brokering a client request, an ORB may provide all of these services:
  • Life cycle services, which define how to create, copy, move, and delete a component
  • Persistence service, which provide the ability to store data on object database, , and plain files
  • Naming service, which allows a component to find another component by name and also supports existing naming systems or directories, including
  • DCE, , and Sun's NIS (Network Information System).
  • Event service, which lets components specify events that they want to be notified of
  • Concurrency control service, which allows an ORB to manage locks to data that transactions or threads may compete for
  • transaction service, which ensures that when a transaction is completed, changes are committed, or that, if not, database changes are restored to their pre-transaction state
  • Relationship service, which creates dynamic associations between components that haven't "met" before and for keeping track of these associations
  • Externalization service, which provides a way to get data to and from a component in a "stream"
  • Query service, which allows a component to query a database. This service is based on the SQL3 specification and the Object Database Management Group's (ODMG) Object Query Language (OQL).
  • Licensing service, which allows the use of a component to be measured for purposes of compensation for use. Charging can be done by session, by node, by instance creation, and by site.
  • Properties service, which lets a component contain a self-description that other components can use.
In addition, an ORB also can provide security and time services. Additional services for trading, collections, and change management are also planned. The requests and replies that originate in ORBs are expressed through the Internet Inter-ORB Protocol (IIOP) or other transport layer protocols.

c)         What is CORBA? Give a brief explanation about the CORBA arid its architecture.           [6]
d)         What are CORBA services? Explain with some example.                                  [6]

July-2006 [12]

3.
a)         Explain how object management group standard (OMG) – CORBA allows object to communicate in distributed heterogeneous environment, providing transparency across network, operating system and programming language boundaries.                         [12]

January-2007 [6]

6.
c)         Describe in brief the need for formulative middleware standard like CORBA in distributed object oriented systems.                                                                                     [6]

July-2007 [4]

1.
g)         What is the objective of CORBA? Why is it relevant to ODMG (Object Database Management Group) standard?                                                                                      [4]

January-2008 [28]
2.
6b)        Write the necessary steps which are required to implement an “Object Model”.               [6]
Ans :-- In computing, object model has two related but distinct meanings:
  1. The properties of objects in general in a specific computer programming language, technology, notation or methodology that uses them. For example, the Java objects model, the COM object model, or the object model of OMT. Such object models are usually defined using concepts such as class, generic function, message, inheritance, polymorphism, and encapsulation. There is an extensive literature on formalized object models as a subset of the formal semantics of programming languages.
  2. A collection of objects or classes through which a program can examine and manipulate some specific parts of its world. In other words, the object-oriented interface some service or system. Such an interface is said to be the object model of the represented service or system. For example, the Document Object Model (DOM) [1] is a collection of objects that represent a page in a web browser, used by script programs to examine and dynamically change the page. There is a Microsoft Excel object model [2] for controlling Microsoft Excel from another program, and the ASCOM Telescope Driver [3] is an object model for controlling an astronomical telescope.
An object model consists of the following important features:
Object Reference: Objects can be accessed via object references. To invoke a method in an object, the object reference and method name are given, together with any arguments.
Interfaces: An interface provides a definition of the signature of a set of methods without specifying their implementation. An object will provide a particular interface if its class contains code that implement the method of that interface. An interface also defines types that can be used to declare the type of variables or parameters and return values of methods.
Actions: Action in an OOP is initiated by an object invoking a method in another object. An invocation can include additional information needed to carry out the method. The receiver executes the appropriate method and then returns control to the invoking object, sometimes supplying a result.
Exceptions: Programs can encounter various errors and unexpected conditions of varying seriousness. During the execution of the method many different problems may be discovered. Exceptions provide a clean way to deal with error conditions without complicating the code. A block of code may be defined to throw an exception whenever particular unexpected conditions or errors arise. This means that control passes to another block of code that catches the exception.
Garbage collection: It is necessary to provide the means of freeing the space occupied by objects when they are no longer needed. For example, Java can detect automatically when an object is no longer accessible, recover the space and make it available for allocation to other objects. This process is called garbage collection.

3.
6a)        For which category of application, the use of object data management is more appropriate? State any three relevant application pertaining to the use of object data management principles.                                                                                      [6]
4.        
6a)        What is CORBA? Explain the services provided by the CORBA to support the integration and interoperation of distributed objects.                                                                     [8]
6.
6c)        What is Object Management Group (OMG) reference model? Explain the responsibilities, purposes and major components of OMG reference model.                                     [8]


No comments:

Post a Comment