Influential linguist and political Activist Noam Chomsky discusses the properties, design and theories of language in this Hitchcock lecture presented at UC Berkeley. Series: "UC Berkeley Graduate Council Lectures" [7/2003]
Analyzing the flurries of language has always been my passion and for me this blog is a platform to revive my linguistic readings & insights which is slowly sinking down...
Wednesday, May 26, 2010
Monday, May 24, 2010
OOPS and Ontology...
While moving on to C++ programming and thereby OOPS concepts in my latest learning programming spree, just want to make some humble observations. I am not sure to what extent these are valid or correct observations, let me just share it... I feel there is a striking similarity between OOPS and Ontology. At conceptual level, both have shared basic foundation. Like in both OOPS and Ontology, classes and objects play an imporatnt role. Class in OOPS can be defined as organization of data and functions which operate on it and Objects are consisted of combination of data members and member functions. So class is a collection of similar objects containing a set of shared characteristics. A class is simply a template for holding objects, class is abstract while objects are real. Objects are instances of classes, each with a unique identity. Similarly in Ontology too Class is the concept of the domain which are in a hiearchical relationship (sub class & superclass) and every class has its instance or indiviual like objects in OOPS. OOPS Objects only speak to each other by method or function calls. They never directly access each other’s attributes. In Ontology, instances of a class is related to each other via SLOTS (i.e, properties) and FACETS (constraints) on the properties.
Then look at the other concepts of OOPS: for example, Inheritance. Inheritance is implied by (some, but not all) is-a or is-a-kind-of relationships, a process by which objects of one class acquire the properties of objects of another class. Inheritance is a way of describing a class by saying how it differs from another class. Exactly the same thing is happening in Ontology. A subclass inherits all the slots from the superclass. If a wine has a name and flavor, a red wine also has a name and flavor. If a class has multiple superclasses, it inherits slots from all of them. Port is both a dessert wine and a red wine. It inherits “sugar content: high” from the former and “color:red” from the latter.
OOPS in a nutshell (Look at a domain and identify the objects and classes)
Then look at the other concepts of OOPS: for example, Inheritance. Inheritance is implied by (some, but not all) is-a or is-a-kind-of relationships, a process by which objects of one class acquire the properties of objects of another class. Inheritance is a way of describing a class by saying how it differs from another class. Exactly the same thing is happening in Ontology. A subclass inherits all the slots from the superclass. If a wine has a name and flavor, a red wine also has a name and flavor. If a class has multiple superclasses, it inherits slots from all of them. Port is both a dessert wine and a red wine. It inherits “sugar content: high” from the former and “color:red” from the latter.
OOPS in a nutshell (Look at a domain and identify the objects and classes)
- Objects are often the first to be identified
- Classes are found by grouping objects
- Identify the relationships between the objects and between the classes (Structural relationships & Collaborative relationships)
- Assign responsibilities based on collaborative relationships
- Iterate, iterate, iterate, iterate, iterate, iterate, iterate, iterate, iterate....
- Begin by modeling the domain, not the solution!
- Defining concepts in the domain (classes)
- Arranging the concepts in a hierarchy (subclass-superclass hierarchy)
- Defining which attributes and properties (slots) classes can have
- Constraints on properties and attributes
- Defining individuals and filling in slot values
Subscribe to:
Posts (Atom)