System and method for reducing coupling in an...

Data processing: software development – installation – and managem – Software program development tool – Linking

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S223000, C709S241000

Reexamination Certificate

active

06467085

ABSTRACT:

CROSS REFERENCES TO RELATED APPLICATIONS
This Nonprovisional U.S. Patent Application is based upon an earlier-filed, currently pending Provisional U.S. Patent Application entitled Component Decoupling, a Key to Improving Software System Architectures, Serial No. 60/005,337, filed on Oct. 17, 1995, in the name of Tony I. Larsson, the inventor of the present application.
This Nonprovisional U.S. Patent Application also contains subject matter related to an earlier-filed, currently nonabandoned Provisional U.S. Patent Application entitled System and Method for Decreasing Coupling between Functions and Actual Data Types, Serial No. 60/005,497, filed on Oct. 16, 1995, in the names of Peter Kriens, Stefan Eissing and H{dot over (a)}kan Björk. This currently-pending Provisional U.S. Patent Application and any Nonprovisional Patent Applications deriving therefrom in the United States or in other countries and the disclosure(s) contained therein are all hereby incorporated by reference herein.
The earlier-filed Provisional U.S. Patent Applications identified above and the present Nonprovisional U.S. Patent Application have all been or will be assigned to Telefonaktiebolaget LM Ericsson (publ).
DESCRIPTION
1. Technical Field of the Invention
The invention relates to the field of computer programming languages, methodologies and systems and more particularly, to a system and method for reducing programming and execution inefficiencies caused by coupling between objects in an object-oriented programming and execution environment, such as a telecommunications environment.
2. Description of Related Art
Object-orientation has often been advocated as the panacea for designers of software systems. However, in order to fulfill basic architectural requirements, large software systems still need additional means for decoupling their components. The component decoupling techniques disclosed and described in this patent application can also be used to design and develop efficient distributed software solutions that use open standards.
The term object-orientation is used to describe a variety of programming concepts and advances. At its core, the term object-orientation is usually taken by those of ordinary skill in the art to refer to a computer programming environment that has three principal characteristics. First, communication between various objects in such an environment is performed by passing messages. Second, such programming environments distinguish between data types and instances of those data types. Third, the similarities between various objects in such environments is characterized using the concept of inheritance.
Some of the limitations of the object-oriented approach as presently implemented in various software programming systems can be best understood by considering first the history and roots of the object-oriented approach.
We have moved from the function-oriented approach used in the early days of software programming to the object-oriented approach of today. Function-oriented analysis was (and is) based on a top-down (or black box) view of system requirements. In real-time applications such as telecommunications, such an analysis focuses on the functions or services provided to external clients and is implemented as processes that are distributed over a telecommunications network.
In contrast, software engineers often focus on algorithm control structures, on data structures and on data transformation methods. In the function-oriented approach, as understood by skilled software engineers, data is usually considered as being global, although in some instances data maybe encapsulated. Consequently every change in the representational format of a datum immediately feeds back into the design of every function that manipulates that datum.
This disadvantage can be ameliorated somewhat, by manipulating the data indirectly, i.e., by manipulating the data symbolically or by using a specialized interface function that serves as a filter. The use of such interface functions can also permit modification of the representational format of the data and can be used to obtain an abstract view of the data. Thus, choice of a proper software architecture model can avoid or eliminate many of the problems that are often associated with the function-oriented approach to software design.
The function-oriented approach is most commonly used nowadays to manipulate information contained in databases. Each database management software program often uses an abstract information model that isolates the data representation from its manipulation. However, the internal structure of the database is not accessible to an end-user who invokes standard functions to manipulate the information contained in the database.
In contrast to the function-oriented approach which focuses on functions that transform or manipulate external or global data, the object-oriented approach advocates an inverted, more structure-oriented or implementation-oriented view of the world, that focuses on objects that in turn are represented by data and applicable functions.
This approach, which is achieved by separating the function-naming parts of messages (including their intended interpretation) from the implementations of the functions, makes it possible to encapsulate and hide the data representations that are used in a specific implementation. Thus, this approach requires both the message-names as well as their meaning (which constitute the communications means between objects) to have stable definitions.
The encapsulation of certain information in distinct system entities that communicate amongst each other through signals has been a common approach amongst many telecommunications software designers and programmers. This approach has been used in order to handle system components in a coherent way that is independent of their physical location and implementation. In this telecommunications software engineering paradigm, a function at the system level is implemented by the interworking of different system components each containing some of the necessary parts of the function being implemented, including the related data.
The object-oriented programming paradigm has its roots in programming languages like SIMULA, a programming language created for simulation and modeling, in programming languages such as SDL, CHILL and PLEX that have been used for developing telecommunications applications where system modeling, component encapsulation and message-based communication have been essential features and also in hardware description languages (HDLs).
In traditional object-oriented analysis both the components of an artifact system and its environment are modeled as a set of objects that are characterized by common and individual attributes, relationships, means of communication and operations. Consequently the design of an object-oriented software system can be improved only by putting in the effort needed to capture, analyze, formalize and validate the concepts and structures that are used to build an abstract model of the proposed software system including its environment and intended use.
The environment of each object usually consists of other objects that use (or are used by) the object under consideration. Invoking objects are usually referred to as “clients” while invoked objects are usually referred to as “servers”. Consequently, the intended use of an object should be taken into account in designing the means of communication with the object and upon the mechanisms used to execute the desired operations that are to be carried out upon the object in question.
Objects are characterized by their attributes, attribute values and functions (which are also referred to by those of ordinary skill in the art as actions, methods, operations or services). A set of objects that possesses the same attributes (e.g., name, weight, height, etc.) and functions is referred to as an object class (or type). In a pure object-oriented model, attributes (e.g., the class of integers or the class of subscribers) are relationships to values that are obje

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for reducing coupling in an... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for reducing coupling in an..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for reducing coupling in an... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2982838

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.