Can't find what you are looking for ?
Google
 



Showing posts with label Object Oriented. Show all posts
Showing posts with label Object Oriented. Show all posts

Monday, September 7, 2009

Learn software processes: Deductive Object-Oriented Databases

Deductive Object Oriented databases (DOODs) came about through the integration of the OO paradigm and logic programming. The following broad approaches have been adopted in the design of DOOD systems:
- Language Extension : An existing deductive language model is extended with object oriented features. For example, Datalog is extended to support identity, inheritance, and other OO features.
- Language Integration : A deductive language is integrated with an imperative programming language in the context of an object model or type system. The resulting system supports a range of standard programs, while allowing different and complementary programming paradigms to be used for different tasks, or for different parts of the same task.
- Language Reconstruction : An object model is reconstructed, creating a new logic language that includes object-oriented features. in this strategy, the goal is to develop an object logic that captures the essentials of the object-oriented paradigm and that can also be used as a deductive programming language in DOODs.

Validity combines deductive capabilities with the ability to manipulate complex objects. The ability to declaratively specify knowledge as deduction and integration rules brings knowledge independence. Moreover, the logic-based language of deductive databases enables advanced tools, such as those for checking the consistency of a set of rules, to be developed. VALIDITY provides the following :
- A DOOD data model and language, called DEL (Datalog Extended Language).
- An engine working along a client-server model.
- A set of tools for schema and rule editing, validation, and querying.

The DEL data model provides object-oriented capabilities, similar to those offered by the ODMG data model, and includes both declarative and imperative features. The declarative features include deductive and integrity rules, with full recursion, stratified negation, disjunction, grouping, and quantification. The imperative features allow functions and methods to be written.

Wednesday, July 29, 2009

Quick Tech Tip: Encapsulation - What does it mean ?

Encapsulation is not a common word in the English language; however, it is an important phrase in the word of software design, especially in the world of Object Oriented Programming. So what does encapsulation mean ?
In computer science, the principle of information hiding means the hiding of design decisions in a computer program, those decisions that are most likely to change, thus protecting other parts of the program from change; especially if the design decision is changed. The protection involves providing a stable interface which shields the remainder of the program from the implementation (the details that are most likely to change). The purpose is to achieve potential for change: the internal mechanisms of the component can be improved without impact on other components, or the component can be replaced with a different one that supports the same public interface.
The term encapsulation is often used interchangeably with information hiding, while some make distinctions between these two terms (although to most people these terms seem the same). It seems that people, however, fail to agree on the distinctions between information hiding and encapsulation though one can think of information hiding as being the principle and encapsulation being the technique. A software module hides information by encapsulating the information into a module or other construct which presents an interface.
The concept of encapsulation is a term that is an integral part of object-oriented programming, where the interface to an object is defined by its public methods, while its internal state is represented by private data. Encapsulation is a good principle of object oriented design, and part of well designed systems.