The assignee for this patent, patent number 8555246, is
Reporters obtained the following quote from the background information supplied by the inventors: "The cost and complexity of developing large-scale software systems has increased dramatically in recent years. Software reuse and software maintenance are two of the biggest challenges in software engineering. Software reusability is a performance metric indicating the degree to which a software module or other software product can be used in more than one computer program or system. Software maintenance includes any modifications to a software product after the product is initially delivered, e.g., to correct faults, improve performance or to adapt the product to another environment.
"Object-oriented (OO) software development techniques have been said to offer significant advantages in the context of software reuse and maintenance. Generally, object-oriented techniques represent real-world and abstract objects using programmed objects. The concept of abstraction allows object-oriented programmers to focus only on relevant characteristics of the real-world domain. While object-oriented programming techniques have offered significant advances in the area of software reuse and maintenance, such object-oriented techniques suffer from a number of limitations, which if overcome, could greatly improve the ability to reuse and maintain software products.
"Most current component technologies are based on a set of standards, such as Component Object Model (COM), Enterprise JavaBeans (EJB), and Common Object Request Broker Architecture (CORBA). For a more detailed discussion of the current state of component software technology, see, for example,
"Generally, these component models define a set of interfaces or services that can be invoked by clients. Existing component models have strived to ensure that components are reusable modules that can be inserted into any compatible system, without knowing the internal details of the component. For example, a component that is developed using the WebSpere platform from
"A need therefore exists for a method for programming software components that enhances the maintainability and reusability of components."
In addition to obtaining background information on this patent, VerticalNews editors also obtained the inventor's summary information for this patent: "Generally, a method and apparatus are disclosed for programming software components that treat software components as the basic unit of abstraction and computation. Thus, a software component is encapsulated and classes and other program entities, such as data fields and methods, within a given component do not exist beyond a component boundary. One component cannot inherit another component's internal structure and behavior.
"A component interacts with other components only by means of a defined set of input and output ports. A component can inherit and implement ports declared in a template and can declare and implement new ports. A component must attach each of its input ports to a concrete class within it. Thus, when a message arrives at an input port of a component, the messages should be processed by some logic (i.e., classes) in the component.
"A component can only access the external environment through its output ports. Thus, a component can only invoke services of other components via its own output ports. An output port of one component can only be connected to a conforming input port of another component. Port typing restricts the kinds of messages (i.e., operations) that can be passed from one component to another component. A connect statement is an explicit plumbing operation for connecting components together. The connect statement creates dependencies among components and ensures that the corresponding types and protocols of each connected component match.
"According to a further feature of the invention, interactions between components are loosely coupled. A looser coupling between components helps improve reusability and maintenance of components. Generally, one component is not aware of the identity of other components in a system. Among other benefits, loose coupling enhances maintainability and reusability of components. Implicit invocation is an architectural style for achieving such loose coupling among components. A related set of templates can be grouped together to form a group. Groups are useful for implementing implicit invocation and multicasting.
"A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings."
For more information, see this patent: Sreedhar, Vugranam C.. Method and Apparatus for Programming Software Components. U.S. Patent Number 8555246, filed
Keywords for this news article include: Software, Object-oriented Programming,
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2013, NewsRx LLC
Most Popular Stories
- NSA Defends Global Cellphone Tracking Legality
- Ad Counts Rise in 2013 for Hispanic Magazines
- Top Websites for U.S. Hispanics
- Networks Vie for U.S. Hispanic TV Viewers
- Saab Gets Back into the Game; U.S. Auto Sales Soar
- Apple Activates Customer-Tracking iBeacon
- Dell Offers Undisclosed Number of Employee Buyouts
- 2013 Tech Gift Guide: iPad Mini Still Hot; Chromecast a Great Low-Cost Option
- Authorities Close to Deal with JPMorgan Chase over Madoff Response
- A Biography of Jonathan Ive, Apple's Creative Chief