IP Library Granted Patent US 6,851,107
Granted Patent B1
US 6,851,107 · App. 09/680,063 · Granted Feb 1, 2005

Software development tool with instant updating and simultaneous view of graphical and a textual display of source code

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,851,107
App. No.
09/680,063
Granted
Feb 1, 2005
Kind
B1
Abstract

Methods and systems consistent with the present invention provide an improved software development tool which allows a developer to simultaneously view a graphical and a textual display of source code. The graphical and textual views are synchronized so that a modification in one view is automatically reflected in the other view. In addition, the software development tool is designed for use with more than one programming language.

Claims (155)

1. A method in a data processing system for developing source code in a project wherein the project comprises a plurality of files and the source code of a chosen one of the plurality of files is written in a language, the method comprising the steps of:

determining the language of the source code of the chosen file;

converting the source code from the language into a language-neutral representation;

using the language-neutral representation to display the source code in the language of the chosen file; and

using the language-neutral representation to display a graphical representation of at least a portion of the project, wherein the display of the source code in the language of the chosen file and the display of the graphical representation of at least a portion of the project are synchronized so that a modification in one is automatically reflected in the other.

2. The method of claim 1 , wherein the source code and the graphical representation are displayed simultaneously.

3. The method of claim 1 , further comprising the steps of:

receiving a modification to the source code of the chosen file;

converting the modification into a language-neutral representation of the modification;

using the language-neutral representation of the modification to display the modified source code of the chosen file; and

using the language-neutral representation of the modification to display a graphical representation of at least a portion of the project with the modified source code.

4. The method of claim 3 , further comprising the steps of:

detecting a syntax error in the modified source code; and

providing an error message regarding the syntax error.

5. The method of claim 3 , wherein the modification to the source code is received from the display of the source code.

6. The method of claim 3 , wherein the modification to the source code is received from the display of the graphical representation.

7. The method of claim 1 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram, and a deployment diagram.

8. A method in a data processing system for developing source code in a project wherein the project comprises a plurality of files and the source code of a chosen one of the plurality of files is written in a language, the method comprising the steps of:

determining the language of the source code of the chosen file;

displaying the source code of the chosen file in the language; and

displaying a graphical representation of at least a portion of the project, wherein the display of the source code in the of the chosen file and the display of the graphical representation of at least a portion of the project are synchronized so that a modification in one is automatically reflected in the other.

9. The method of claim 8 , wherein the source code and the graphical representation are displayed simultaneously.

10. The method of claim 8 , further comprising the steps of:

receiving a modification to the source code of the chosen file;

displaying the modified source code of the chosen file; and

displaying a graphical representation of at least a portion of the project with the modified source code.

11. The method of claim 10 , further comprising the steps of:

detecting a syntax error in the modified source code; and

providing an error message regarding the syntax error.

12. The method of claim 10 , wherein the modification to the source code is received from the display of the source code.

13. The method of claim 10 , wherein the modification to the source code is received from the display of the graphical representation.

14. The method of claim 8 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram and a deployment diagram.

15. A method in a data processing system for developing source code, the method comprising the steps of:

receiving an identification of a selected language for the source code;

creating a file to store the source code in the selected language;

converting the source code from the selected language into a language-neutral representation;

using the language-neutral representation to display the source code in the language of the file; and

using the language-neutral representation to display a graphical representation of the file, wherein the display of the source code in the language of the chosen file and the display of the graphical representation of at least a portion of the project are synchronized so that a modification in one is automatically reflected in the other.

16. The method of claim 15 , wherein the source code and the graphical representation are displayed simultaneously.

17. The method of claim 15 , further comprising the steps of:

receiving a modification to the source code of the chosen file;

converting the modification into a language-neutral representation of the modification;

using the language-neutral representation of the modification to display the modified source code of the chosen file; and

using the language-neutral representation of the modification to display a graphical representation of at least a portion of the project with the modified source code.

18. The method of claim 17 , further comprising the steps of:

detecting a syntax error in the modified source code; and

providing an error message regarding the syntax error.

19. The method of claim 17 , wherein the modification to the source code is received from the display of the source code.

20. The method of claim 17 , wherein the modification to the source code is received from the display of the graphical representation.

21. The method of claim 15 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram and a deployment diagram.

22. A method in a data processing system for developing source code, the method comprising the steps of:

receiving an identification of a selected language for the source code;

creating a file to store the source code in the selected language;

displaying the source code of the file in the selected language; and

displaying a graphical representation of the file, wherein the display of the source code of the file in the selected language and the display of the graphical representation the file are synchronized so that a modification in one is automatically reflected in the other.

23. The method of claim 22 , wherein the source code and the graphical representation are displayed simultaneously.

24. The method of claim 22 , further comprising the steps of:

receiving a modification to the source code of the chosen file;

displaying the modified source code of the chosen file; and

displaying a graphical representation of at least a portion of the project with the modified source code.

25. The method of claim 24 , further comprising the steps of:

detecting a syntax error in the modified source code; and

providing an error message regarding the syntax error.

26. The method of claim 24 , wherein the modification to the source code is received from the display of the source code.

27. The method of claim 24 , wherein the modification to the source code is received from the display of the graphical representation.

28. The method of claim 22 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram and a deployment diagram.

29. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having source code in a project wherein the project comprises a plurality of files and the source code of a chosen one of the plurality of files is written in a language, the method comprising the steps of:

determining the language of the source code of the chosen file;

converting the source code from the language into a language-neutral representation;

using the language-neutral representation to display the source code of the chosen file; and

using the language-neutral representation to display a graphical representation of at least a portion of the project, wherein the display of the source code of the chosen file and the display of the graphical representation of at least a portion of the project are synchronized so that a modification in one is automatically reflected in the other.

30. The computer-readable medium of claim 29 , wherein the source code and the graphical representation are displayed simultaneously.

31. The computer-readable medium of claim 29 , wherein the computer system further performs the steps of:

receiving a modification to the source code of the chosen file;

converting the modification into a language-neutral representation of the modification;

using the language-neutral representation of the modification to display the modified source code of the chosen file; and

using the language-neutral representation of the modification to display a graphical representation of at least a portion of the project with the modified source code, wherein the display of the modified source code of the chosen file and the display of the graphical representation of at least a portion of the project with the modified source code are synchronized so that a modification in one is automatically reflected in the other.

32. The computer-readable medium of claim 31 , wherein the computer system further performs the steps of:

detecting a syntax error in the modified source code; and

providing an error message regarding the syntax error.

33. The computer-readable medium of claim 31 , wherein the modification to the source code is received from the display of the source code.

34. The computer-readable medium of claim 31 , wherein the modification to the source code is received from the display of the graphical representation.

35. The computer-readable medium of claim 29 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram and a deployment diagram.

36. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having source code in a project wherein the project comprises a plurality of files and the source code of a chosen one of the plurality of files is written in a language, the method comprising the steps of:

determining the language of the source code of the chosen file;

displaying the source code of the chosen file; and

displaying a graphical representation of at least a portion of the project, wherein the display of the source code of the chosen file and the display of the graphical representation of at least a portion of the project are synchronized so that a modification in one is automatically reflected in the other.

37. The computer-readable medium of claim 36 , wherein the source code and the graphical representation are displayed simultaneously.

38. The computer-readable medium of claim 36 , wherein the computer system further performs the steps of:

receiving a modification to the source code of the chosen file;

displaying the modified source code of the chosen file; and

displaying a graphical representation of at least a portion of the project with the modified source code.

39. The computer-readable medium of claim 38 , wherein the computer system further performs the steps of:

detecting a syntax error in the modified source code; and

providing an error message regarding the syntax error.

40. The computer-readable medium of claim 38 , wherein the modification to the source code is received from the display of the source code.

41. The computer-readable medium of claim 38 , wherein the modification to the source code is received from the display of the graphical representation.

42. The computer-readable medium of claim 36 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram and a deployment diagram.

43. A computer-readable medium containing instructions for controlling a data processing system to perform a method to develop source code, the method comprising the steps of:

receiving an identification of a selected language for the source code;

creating a file to store the source code in the selected language;

converting the source code into a language-neutral representation;

using the language-neutral representation to display the source code of the file; and

using the language-neutral representation to display a graphical representation of the file, wherein the display of the source code of the file and the display of the graphical representation of the file are synchronized so that a modification in one is automatically reflected in the other.

44. The computer-readable medium of claim 43 , wherein the source code and the graphical representation are displayed simultaneously.

45. The computer-readable medium of claim 43 , wherein the computer system further performs the steps of:

receiving a modification to the source code of the chosen file;

converting the modification into a language-neutral representation of the modification;

using the language-neutral representation of the modification to display the modified source code of the chosen file; and

using the language-neutral representation of the modification to display a graphical representation of at least a portion of the project with the modified source code.

46. The computer-readable medium of claim 45 , wherein the computer system further performs the steps of:

detecting a syntax error in the modified source code; and

providing an error message regarding the syntax error.

47. The computer-readable medium of claim 45 , wherein the modification to the source code is received from the display of the source code.

48. The computer-readable medium of claim 45 , wherein the modification to the source code is received from the display of the graphical representation.

49. The computer-readable medium of claim 43 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram a component diagram and a deployment diagram.

50. A computer-readable medium containing instructions for controlling a data processing system to perform a method to develop source code, the method comprising the steps of:

receiving an indication identification of a selected language for the source code;

creating a file to store the source code in the selected language;

displaying the source code of the file; and

displaying a graphical representation of the file, wherein the display of the source code of the file and the display of the graphical representation of the file are synchronized so that a modification in one is automatically reflected in the other.

51. The computer-readable medium of claim 50 , wherein the source code and the graphical representation are displayed simultaneously.

52. The computer-readable medium of claim 50 , wherein the computer system further performs the steps of:

receiving a modification to the source code of the chosen file;

displaying the modified source code of the chosen file; and

displaying a graphical representation of at least a portion of the project with the modified source code.

53. The computer-readable medium of claim 52 , wherein the computer system further performs the steps of:

detecting a syntax error in the modified source code; and

providing an error message regarding the syntax error.

54. The computer-readable medium of claim 52 , wherein the modification to the source code is received from the display of the source code.

55. The computer-readable medium of claim 52 , wherein the modification to the source code is received from the display of the graphical representation.

56. The computer-readable medium of claim 50 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram and a deployment diagram.

57. A data processing system comprising:

a secondary storage device further comprising source code in a project wherein the project comprises a plurality of files and the source code of a chosen one of the plurality of files is written in a language;

a memory device further comprising a program that determines the language of the source code of the chosen file, that converts the source code into a language-neutral representation, that uses the language-neutral representation to display the source code of the chosen file, and that uses the language-neutral representation to display a graphical representation of at least a portion of the project; and

a processor for running the program, wherein the display of the source code of the chosen file and the display of the graphical representation of at least a portion of the project are synchronized so that a modification in one view is capable of being automatically reflected in the other view.

58. The data processing system of claim 57 , wherein the memory device further comprises a transient meta model, wherein said transient meta model stores the language-neutral representation of the source code.

59. The data processing system of claim 57 , wherein the source code and the graphical representation are displayed simultaneously.

60. The data processing system of claim 57 , wherein the program further receives a modification to the source code of the chosen file, converts the modification into a language-neutral representation of the modification, uses the language-neutral representation of the modification to display the modified source code of the chosen file, and uses the language-neutral representation of the modification to display a graphical representation of at least a portion of the project with the modified source code.

61. The data processing system of claim 60 , wherein the program further detects a syntax error in the modified source code, and provides an error message regarding the syntax error.

62. The data processing system of claim 57 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram and a deployment diagram.

63. A data processing system comprising:

a memory device further comprising a program that receives an in identification of a selected language for source code, that creates a file to store the source code in the selected language, that converts the source code into a language-neutral representation, that uses the language-neutral representation to display the source code of the file, and that uses the language-neutral representation of the modification to display a graphical representation of the file; and

a processor for running the program,

wherein the display of the source code of the file and the display of the graphical representation of at least a portion of the project are synchronized so that a modification in one is automatically reflected in the other.

64. The data processing system of claim 63 , wherein the memory device further comprises a transient meta model, wherein said transient meta model stores the language-neutral representation of the source code.

65. The data processing system of claim 63 , wherein the source code and the graphical representation are displayed simultaneously.

66. The data processing system of claim 63 , wherein the program further receives a modification to the source code of the chosen file, converts the modification into a language-neutral representation of the modification, uses the language-neutral representation of the modification to display the modified source code of the chosen file, and uses the language-neutral representation of the modification to display a graphical representation of at least a portion of the project with the modified source code.

67. The data processing system of claim 66 , wherein the program further detects a syntax error in the modified source code, and provides an error message regarding the syntax error.

68. The data processing system of claim 63 , wherein the graphical representation is one of the group consisting of a class diagram, a use case diagram, a sequence diagram, a collaboration diagram, a state transition diagram, an activity diagram, a package diagram, a component diagram and a deployment diagram.

69. A system for developing source code in a project wherein the project comprises a plurality of files and the source code of a chosen one of the plurality of files is written in a language, the system comprising:

means for determining the language of the source code of the chosen file;

means for displaying the source code of the chosen file; and

means for displaying a graphical representation of at least a portion of the project,

wherein the means for displaying the source code of the chosen file and the means for displaying of the graphical representation of at least a portion of the project are synchronized so that a modification in one is automatically reflected in the other.

Assignments (6)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →