IP Library Granted Patent US 7,861,221
Granted Patent B2
US 7,861,221 · App. 11/112,966 · Granted Dec 28, 2010

Method and system for generating a source code for a computer program

Assignee: Metasonic AG
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 7,861,221
App. No.
11/112,966
Granted
Dec 28, 2010
Kind
B2
Abstract

A method for the generation of a source code for a computer program for the execution or simulation of a complex process in which a multiplicity of subjects communicate with one another. In this method, the processes are described, the description of the processes is stored in a process file, and with the aid of the process file a source code for a computer program is generated, with a separate source code file being generated for each subject. Through the provision of a source code file for each subject, a complex process may be easily and therefore automatically split into several sub-programs, the source code files, which may be generated automatically. In this way it is possible to generate automatically a computer program for a very complex process. A further benefit of the method according to the invention is that it may be executed after automatic generation, i.e. it may be validated by an execution immediately after generation.

Claims (29)

1. Method for the generation of a source code for a computer program for the execution or simulation of a process in which several subjects communicate with one another, comprising the following steps:

describing the process in which each subject, the communication between the subjects, and the nature of the activity of the individual subjects are defined,

storing the description of the process with the input definitions in a process file,

generating automatically by a computer system, a source code for a computer program, in which a separate source code file is generated for each subject and contains commands for the exchange of data with source code files of other subjects, in accordance with the information contained in the process file.

2. Method according to claim 1 , wherein the source code is generated by a command which, in executing the source code reads data from the process file, and executes certain functions on the basis of this data.

3. Method according to claim 1 , wherein the automatically generated source code file is generated to call up three different types of function, namely SEND, RECEIVE and DO.

4. Method according to claim 2 , wherein the automatically generated source code file is generated to call up three different types of function, namely SEND, RECEIVE and DO.

5. Method according to claim 1 , wherein the source code is provided with a request which requests and calls up functions described in a function sequence in the process file.

6. Method according to claim 4 , wherein the source code is provided with a request which requests and calls up functions described in a function sequence in the process file.

7. Method according to claim 1 , wherein the process is described by means of a graphical diagram.

8. Method according to claim 6 , wherein the process is described by means of a graphical diagram.

9. Method according to claim 7 , wherein the graphical diagram in the process is described in a meta language.

10. Method according to claim 8 , wherein the graphical diagram in the process is described in a meta language.

11. Method according to claim 7 , wherein the graphical diagrams are produced in the form of block diagrams, with each subject being represented by a block, and the communication between subjects represented by arrows between the blocks.

12. Method according to claim 10 , wherein the graphical diagrams are produced in the form of block diagrams, with each subject being represented by a block, and the communication between subjects represented by arrows between the blocks.

13. Method according to claim 1 , wherein as commands for the exchange of data, communication commands (RMI: remote method invocation) are used, which are based on the monitor concept, so that active (busy) waiting is avoided.

14. Method according to claim 12 , wherein as commands for the exchange of data, communication commands (RMI: remote method invocation) are used, which are based on the monitor concept, so that active (busy) waiting is avoided.

15. Method according to claim 13 , wherein as commands for the transmission of data between the subjects, a “notify” interpreted programming language command, a “notifyAll” interpreted programming language command and a “wait” interpreted programming language command are used.

16. Method according to claim 14 , wherein as commands for the transmission of data between the subjects, a “notify” interpreted programming language command, a “notifyAll” interpreted programming language command and a “wait” interpreted programming language command are used.

17. Method according to claim 1 , wherein the source code files are generated in such a way that they may be executed on different computers in a computer network and are able to communicate beyond the computer network.

18. Method according to claim 16 , wherein the source code files are generated in such a way that they may be executed on different computers in a computer network and are able to communicate beyond the computer network.

19. Method of validating the communication of a source code generated automatically according to claim 1 , wherein for actions for which a source code can not be generated automatically, a request to the user is inserted during automatic generation of the source code, and in validating the automatically generated source code, the source code is executed, wherein the user has to acknowledge the individual requests interactively, wherein where applicable certain inputs (parameters, decision) are to be made by the user.

20. Method of validating the communication of a source code generated automatically according to claim 2 , wherein for actions for which a source code can not be generated automatically, a request to the user is inserted during automatic generation of the source code, and in validating the automatically generated source code, the source code is executed, wherein the user has to acknowledge the individual requests interactively, wherein where applicable certain inputs (parameters, decision) are to be made by the user.

21. Method according to claim 19 , wherein the actions to be carried out within a subject are replaced by a request to the user.

22. System for the execution of the method according to claim 1 , wherein the system comprises a computer system with one or more input devices and an output device, on which software for the execution of the method according to claim 1 is stored.

23. System for the execution of the method according to claim 18 , wherein the system comprises a computer system with one or more input devices and an output device, on which software for the execution of the method according to claim 1 is stored.

24. System for the execution of the method according to claim 19 , wherein the system comprises a computer system with one or more input devices and an output device, on which software for the execution of the method according to claim 1 is stored.

25. System according to claim 22 , wherein the computer system is a network with several computers.

26. System according to claim 19 , wherein the computer system is a network with several computers.

Assignments (4)
CHANGE OF NAME Recorded Jan 25, 2017
From: METASONIC GMBH
To: ALLGEIER IT SOLUTIONS GMBH
Reel/Frame 041480/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2014
From: METASONIC AG
To: METASONIC GMBH
Reel/Frame 033627/0470 →
CHANGE OF NAME Recorded Oct 2, 2010
From: JCOM1 AG
To: METASONIC AG
Reel/Frame 025082/0521 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2005
From: FLEISCHMANN, ALBERT; MEYER, NILS
To: JCOM1 AG
Reel/Frame 016830/0421 →
Priority Claims (1)
DE 10 2004 019 958 · Apr 23, 2004 · national
Continuity (1)
Related Publication 20050240899A1 · Oct 27, 2005