Patent US5915113A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5915113A Expired / Lapsed US ⏱️ 0.0 years remaining

Visual application partitioning for creating distributed object oriented applications

Assignee: International Business Machines Corp
•
Filing: 1996-12-20
•
Granted: 1999-06-22
•
Expires: 2016-12-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A software partitioning tool is disclosed. Based on a visual display of an application that shows program objects and the connections or interactions between the objects, an internal representation of the application is defined. As the user interacts with the visual display of the application, creating new partitions and relocating program objects in the new partitions, the internal representation of the display is constantly updated. Once a connection between program objects crosses partition boundaries, it is redefined in the internal representation as a distributed interaction (a connection), and representative server and client stubs are defined. At a number of points, the user also has the opportunity to set middleware protocols. Once the user commits to a distribution design, a code generator in the tool generates the actual server and client stubs for all distributed connections based on the definitions in the internal representation of the application.

Inventors

  • 👤 Richard Denison McDonald
  • 👤 Vladimir Klicnik

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 17:23
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/30; G06F8/34; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944; Y10S707/99945; Y10S707/99948; Y10S715/00; Y10S715/961; Y10S715/965; Y10S715/966; Y10S715/967

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 156 words
A method for creating a distributed application for an object oriented environment comprising the computer implemented steps of: displaying an application layout in a visual environment illustrating program object parts and connections between the objects; defining an internal representation of the displayed application; in response to user action, displaying at least one partition boundary and defining said at least one partition boundary in the internal representation; in response to user action, relocating, on the displayed application, at least one program object so that its connection with other program objects cross said at least one partition boundary and defining said connections as distributed connections in the internal representation; determining from said distributed connections server objects and client objects; and in response to a user commit action, generating server code structure with a distributed interface for each server part and generating a client stub with the distributed interface for every client part corresponding to said each server part.
Claim 2
Independent Claim 156 words
A method for creating a distributed application for an object oriented environment comprising the computer implemented steps of: displaying an application layout in a visual environment illustrating program object parts and connections between the objects; defining an internal representation of the displayed application; in response to user action, displaying at least one partition boundary and defining said at least one partition boundary in the internal representation; in response to user action, relocating, on the displayed application, at least one program object so that its connection with other program objects cross said at least one partition boundary and defining said connections as distributed connections in the internal representation; determining from said distributed connections server objects and client objects; and in response to a user commit action, generating server code structure with a distributed interface for each server part and generating a client stub with the distributed interface for every client part corresponding to said each server part.
Claim 3
Dependent Claim 37 words
The method according to claim 1, further comprising the steps of receiving specific middleware characteristics for the server part and including said characteristics in the distributed interface generated for the server code structure and the client stub.
Claim 4
Independent Claim 163 words
A method for creating a distributed application for an object oriented environment having a visual building component adapted to display an application design input by a user, the displayed application design having multiple program objects and connections between said objects representing method calls, the method comprising the computer-implemented steps of: initially defining an internal representation of the objects and connections of the displayed application design; in response to user definition of at least one partition boundary in the displayed application design, defining corresponding empty partition containers in the internal representation; in response to user relocation of at least one program object across said at least one partition boundary in the displayed application design, redefining said at least one program object in the internal representation as a distributed object and its connections crossing said at least one partition boundary as distributed connections; and in response to a user commit action, generating code including middleware characteristics for every distributed connection defined in the internal representation.
Claim 5
Independent Claim 163 words
A method for creating a distributed application for an object oriented environment having a visual building component adapted to display an application design input by a user, the displayed application design having multiple program objects and connections between said objects representing method calls, the method comprising the computer-implemented steps of: initially defining an internal representation of the objects and connections of the displayed application design; in response to user definition of at least one partition boundary in the displayed application design, defining corresponding empty partition containers in the internal representation; in response to user relocation of at least one program object across said at least one partition boundary in the displayed application design, redefining said at least one program object in the internal representation as a distributed object and its connections crossing said at least one partition boundary as distributed connections; and in response to a user commit action, generating code including middleware characteristics for every distributed connection defined in the internal representation.
Claim 6
Dependent Claim 15 words
A method, according to claim 3, wherein the internal representation is built based upon metadata.
Claim 7
Dependent Claim 47 words
A method, according to claim 3, wherein the step of initially building an internal representation comprises building a single partition and locating all program objects of the application within said single partition whereby all method calls between said program object are initially defined as local method calls.
Claim 8
Dependent Claim 33 words
A method, according to claim 3, further comprising the step of defining middleware defaults setting for said empty partition containers in response to user selection of middleware protocol options in the displayed application.
Claim 9
Dependent Claim 75 words
A method, according to claim 3, wherein the step of redefining connections crossing said at least one partition boundary as distributed connections, comprises, for each distributed connection: inferring one program object of the connection as a server object and another program object of the connection as a client object; defining a representation of a server stub and middleware protocols for the server object; and defining a representation of a client stub for the client object.
Claim 10
Dependent Claim 22 words
A method, according to claim 7, wherein the code is generated according to the representations defined of the server and client stubs.
Claim 11
Dependent Claim 127 words
A software development tool for designing and coding a distributed application, the tool being adaptable to interoperate with a visual building component for displaying an application as multiple program objects having connections between them representing method calls, for displaying discrete partitions having boundaries, and for permitting a user to relocate program objects across partition boundaries while maintaining the visual representation of connections between the objects, the tool comprising: a metadata generator for defining a current internal representation of the displayed application and for defining any connections crossing partition boundaries in said displayed application as distributed connections in the current internal representation; and a code generator for generating distributed interfaces for all distributed connections defined in the current internal representation, said code generator being activated by user action.
Claim 12
Dependent Claim 127 words
A software development tool for designing and coding a distributed application, the tool being adaptable to interoperate with a visual building component for displaying an application as multiple program objects having connections between them representing method calls, for displaying discrete partitions having boundaries, and for permitting a user to relocate program objects across partition boundaries while maintaining the visual representation of connections between the objects, the tool comprising: a metadata generator for defining a current internal representation of the displayed application and for defining any connections crossing partition boundaries in said displayed application as distributed connections in the current internal representation; and a code generator for generating distributed interfaces for all distributed connections defined in the current internal representation, said code generator being activated by user action.
Claim 13
Dependent Claim 33 words
A software development tool, according to claim 9, further comprising a repository of reusable code modules, each module defining middleware protocols, and means for accessing an appropriate module when generating a distributed interface.
Claim 14
Dependent Claim 17 words
A software tool, according to claim 10, wherein the repository of reusable code modules comprises coded templates.
Claim 15
Dependent Claim 223 words
A computer program product comprising: a computer usable medium having computer readable program code means embodied therein for creating a distributed application for an object oriented environment having a visual building component adapted to display an application design input by a user, the displayed application design having multiple program objects and connections between said objects representing method calls, the computer readable program code means in said computer program product comprising: computer readable program code means for causing the computer to initially define an internal representation of the objects and connections of the displayed application design; computer readable program code means for causing the computer, in response to user definition of at least one partition boundary in the displayed application design, to define corresponding empty partition containers in the internal representation; computer readable program code means for causing the computer, in response to user relocation of at least one program object across said at least one partition boundary in the displayed application design, to redefine said at least one program object in the internal representation as a distributed object and its connections crossing said at least one partition boundary as distributed connections; and computer readable program code means for causing the computer, in response to a user commit action, to generate code including middleware characteristics for every distributed connection defined in the internal representation.
Claim 16
Dependent Claim 223 words
A computer program product comprising: a computer usable medium having computer readable program code means embodied therein for creating a distributed application for an object oriented environment having a visual building component adapted to display an application design input by a user, the displayed application design having multiple program objects and connections between said objects representing method calls, the computer readable program code means in said computer program product comprising: computer readable program code means for causing the computer to initially define an internal representation of the objects and connections of the displayed application design; computer readable program code means for causing the computer, in response to user definition of at least one partition boundary in the displayed application design, to define corresponding empty partition containers in the internal representation; computer readable program code means for causing the computer, in response to user relocation of at least one program object across said at least one partition boundary in the displayed application design, to redefine said at least one program object in the internal representation as a distributed object and its connections crossing said at least one partition boundary as distributed connections; and computer readable program code means for causing the computer, in response to a user commit action, to generate code including middleware characteristics for every distributed connection defined in the internal representation.

References Cited (Backward Citations)

US4853843A Cited
US5457797A Cited
US5724556A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-06-21 2002-12-21 2003-06-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-06-21 2006-12-21 2007-06-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-06-21 2010-12-21 2011-06-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag