European Round-Table on Patent Practice (EUROTAB)
|European Case Law Identifier:||ECLI:EP:BA:1993:T020493.19931029|
|Date of decision:||29 October 1993|
|Case number:||T 0204/93|
|IPC class:||G06F 9/44|
|Language of proceedings:||EN|
|Download and more information:||
|Title of application:||System for generating software source code components|
|Applicant name:||AMERICAN TELEPHONE AND TELEGRAPH COMPANY|
|Relevant legal provisions:||
|Keywords:||Exclusions from patentability - yes
Patentable inventions - mental acts
Patentable inventions - computer programs
Patentable inventions - technical features (no)
Generating concrete software programs from supplied generic specifications, i.e, reusable software modules, involving computer programs as such, and a computer implementation of mental acts, does not make a contribution in a field outside the range of excluded matters.
Summary of Facts and Submissions
I. The appeal contests the Examining Division's decision to refuse the European patent application No. 86 307 473.8, claiming a priority of 8 October 1985 and having been filed on 30 September 1986 (publication number 0 219 993).
The reason given for the refusal was that the claims filed (last) on 16 September 1992, although admissibly (Article 123(2) EPC) amended to meet a formal objection (Article 84 EPC) made in the preceding Communication, related to subject-matter which could not, in accordance with Article 52(2) and (3) EPC, be regarded as an invention within the meaning of Article 52(1) EPC. The Applicant's argument, based on a new technical effect, was rejected by the Examining Division referring to prior art document
D1: Electronic Design, 3 February 1983, pages 176- 86/188/190/192/)194.
II. The independent claims read as follows:
"1. A system for generating concrete software programs from supplied generic specifications, said system comprising
a compiler (102) for compiling language statements specifying generic software components, each specified generic software component corresponding to one or more user requestable programming services, and each of said programming services being specified by a collection of language statements,
means (104) responsive to said compiler for storing the compiled language statements specifying said generic software components,
means (106, 107, 108) having an input for receiving language statements specifying a particular software application, the language statements specifying said particular software application including at least one indirect statement and at least one request statement, each indirect statement naming any one of said specified generic software components and each request statement naming one user requestable programming service in one named generic software component, said receiving means including
first means (106) responsive to each indirect statement for locating the stored language statements specifying the one generic software component named in that indirect statement,
second means (106) responsive to each request statement for locating the collection of language statements specifying the user requestable programming service named in that request statement in the stored language statements located by said first means, and
means (106, 107, 108) responsive to the collection of language statements located by said second means for creating a concrete version of said particular software application wherein said concrete version is devoid of indirect and request statements.
5. A method for generating software programs from supplied generic specifications, said method comprising the steps of
compiling (102) received language statements specifying generic software components, each of said generic software components corresponding to one or more user requestable services for program generation, each said service being specified by a collection of language statements,
storing (104) the compiled language statements of said specified generic software components,
receiving (106, 107, 108) language statements specifying a particular software application, said language statements including at least one indirect statement and at least one request statement, each indirect statement naming any one of said specified generic software components and each request statement naming one user requestable programming service in one named generic software component, said receiving step further including the steps of
locating (106) in response to each indirect statement the stored language statements specifying the generic software component named in that indirect statement, locating (106) in response to each request statement the collection of language statements specifying the user requestable programming service named in that request statement in the stored language statements that have been priorly located in response to each indirect statement, and
creating (106, 107, 108) in response to the located language statements specifying the user requestable programming service named in each request statement a concrete version of said particular software application wherein said concrete version is devoid of indirect and request statements."
III. The decision under appeal was posted on 22 October 1992.
The appeal was lodged, with a request that the decision be set aside and a patent granted, on 1 December 1992.
The appeal fee was paid on 3 December 1992.
On 19 February 1993, the Appellant filed a Statement of Grounds.
IV. The arguments, submitted by the Appellant in support of his request for grant, are summarised as follows:
- The claimed invention is of a technical nature in that it improves the efficient performance of a computer as a machine;
- it is not concerned with the nature of the program to be made, or of its components, but only with the environment allowing a programmer to program himself efficiently;
- that programming is a mental act does not detract from the technical nature of the claimed invention;
- the claimed invention is of a technical nature in that it provides a system for making useful items of commerce.
Reasons for the Decision
1. The appeal (cf. paragraph III) is admissible.
2.1. The issue to be decided is whether the subject-matter claimed meets the requirement that it is an invention within the meaning of Article 52(1) EPC, i.e. whether it is not excluded from patentability by Article 52(2) and (3) EPC.
As a prerequisite for an examination as to patentability, amended claims must normally meet the requirement that the amendment is admissible under Article 123(2) EPC. According to the decision under appeal, this condition is met for Claims 1 and 5 filed on 16 September 1992.
The Board sees no particular reason to question this finding and re-examine this point in detail because the outcome of the issue to be decided does not, in the particular circumstances of the present case, depend on such details.
2.2. The deletion, requested in the Statement of Grounds of Appeal, of the last section of the description has no impact on the issue to be decided.
3. Claim 1 - Exclusion from Patentability
3.1. According to the introductory phrase of Claim 1, the invention as claimed relates to the art of generating "concrete" software programs. The latter are understood to be computer programs written in a particular programming language (such as, e.g., C). These "concrete" software programs are generated from supplied "generic" specifications, which are understood as being program components or modules written in a more generally usable language, so that they have to be "translated" before insertion into the "concrete" program. The program modules are "reusable" in the sense, that they can be used repeatedly in programs written in the said particular language or even in other programming languages.
Thus, the principle of using, as claimed, in a computer program to be generated, named program modules, stored elsewhere, resembles, except for the level of language used, the well-known calling up of stored sub-routines in main programs.
3.2. Computer programs as such are explicitly excluded from patentability by Article 52(2)(c) in conjunction with Article 52(3) EPC. A programmer's activity of writing a computer program is also excluded by that Article because it requires performing mental acts as such. Making use, for generating a computer program, of a "system" comprising, apart from software, also hardware means does not necessarily render such an activity patentable. In accordance with the Board's case law (e.g. T 167/92 of 23 October 1992, Reason 3.1), the question whether a mix of hardware and software is patentable depends on the circumstances, in particular on the question whether the claimed subject-matter makes a contribution to the art in a field outside the range of excluded matters.
Thus, from the introductory phrase of Claim 1 alone it is not apparent that the subject-matter claimed could be regarded as patentable. It is therefore necessary to consider the features defining the "means" which are comprised by the claimed system.
3.3. However, in this respect it is noted that all of these "means" are defined in Claim 1 in functional terms and not by features requiring novel hardware components or structures.
More specifically, the compiler (102) is defined as being suitable for compiling language statements specifying software components, the means 104 is defined as being suitable for storing the compiled language statements, and the means 106-108, including a first, second and (further) means, are defined as being suitable, in response to particular language statements received, for locating stored language statements and a collection thereof and for creating, in response thereto, a particular program version. None of these definitions pointing to particular functions requires any unusual structural features.
3.4. Turning now to the very nature of these functions, it is clear that these functions are nothing but the implementation of those activities which must be performed in preparation of and during the particular kind of programming which the claimed "system" is set up for.
In this particular kind of programming (cf. paragraph 3.1 above), as a first measure it is necessary to somehow compile (in the sense this term is explained in the description, page 11) the general purpose program modules from their elementary statements, and these must, as a matter of course, somehow be stored. Then it is necessary to somehow formulate a request in the particular program intended to use a stored module, and to make use of this request by searching, in response thereto, for the respective module stored. Finally, the module found must somehow be converted to a version in the language of the said particular program, and it must then be inserted, replacing said request, in that program.
Even where Claim 1 defines such a programming method in other terms and even though it refers, as a "system" claim, to certain "means", a "compiler" included, for its implementation, there is nothing to be recognized in this claim which would point to a new kind of hardware in the sense that any of said means would have a function which is not either conventional or the direct emanation of the particular kind of programming proposed (paragraph 3.1). It is considered that, if this programming method were performed by a human being (a programmer), he would have to take all the same measures which are mentioned in the immediately preceding paragraph.
3.5. Summing up the impression given so far by the wording of Claim 1, the claimed system does not seem to go beyond a computer implementation of a programmer's activity, and any new feature would only relate to the particular kind of programming and not to a particular method for its implementation.
However, in accordance with the case law (cf. paragraph 3.2 above), it is still to be decided whether the claimed system might give rise to a new technical effect which would render it nevertheless patentable. For this purpose, the Appellant's counter- arguments against the view taken in the decision under appeal must, and will now, be considered.
3.6. In response to the decision under appeal, which contains essentially similar arguments for non-patentability of the claimed subject-matter, the Appellant submitted in the Statement of Grounds that the claimed invention would improve the efficiency of a computer as a machine in its programmability aspect. As a supporting argument, he went on to say that the claimed invention allows software components of some degree of generality to be written and tested once and for all and then to be customised and used in a variety of programs, without (the programmer) having to think them through, code them and find and correct any errors each time.
It is fully agreed that this is exactly what the claimed invention is about. But no technical improvement of the efficiency of the computer as a machine, be it the computer when generating a program in accordance with the features of Claim 1 or a computer when eventually making use of the program so generated by executing it, can be recognized therefrom. It is not disputed that the claimed invention will improve the efficiency of the programmer as submitted by the Appellant but this does not mean that the computer, when generating a program or executing the generated program, would work in an essentially new way from a technical point of view.
3.7. The Appellant has argued that the claimed invention would relate only to the operation of the computer as a programmable machine, and referred in this context to the fact that the claimed features are not concerned with the nature of the program to be made, or of its components. However, in the Board's view, the claimed invention should rather be considered as relating to the operation of the computer as a programming tool, even though it is not restricted to any specific program(s), or program modules, replacing (at least some) mental acts of the programmer. That it is not restricted to any specific program(s) produced with this tool, does not detract from this character of the claimed system as a programming tool.
The Appellant's submission, that the claimed invention would improve the functioning of a computer as a programmable machine, is therefore unconvincing.
3.8. In response to the citation, in the decision under appeal, of D1, the Appellant submitted that the claimed system would not itself provide any software components but the claimed invention would provide the programmer with an environment in which he could program efficiently, or in which he could efficiently make use of the work of others in his programming.
The Board agrees with this statement but, again, this submission is not seen as an argument for efficiency of (the internal working of) a programmable computer but for efficiency of a programmer when making use of a computer as a programming tool.
3.9. With reference to programming a computer being a mental act, the Appellant finally compared the claimed system with a "fly-by-wire" system which would render flying an aeroplane, said also to be a mental act, a technical process fulfilling a technical function and having a technical effect.
There are, however, fundamental differences between computer programming and flying an aircraft, as far as patentability is concerned. Flying an aircraft would, even without being performed automatically, not seem to be basically a mental act excluded from patentability by Article 52(2)(c) in conjunction with 52(3) EPC; even though mental acts will be involved, it would more realistically seem to be a method of controlling a technical process performed by a technical device, its result being the performance of that technical process in said technical device. Its automation will all the more be of a technical nature. In contrast, writing a computer program is of a basically mental nature, excluded as such from patentability by Article 52(2)(c) and (3) EPC. The contribution made by its implementation on a general purpose computer, including the automation of certain steps to be performed, can only lie within the field of computer functioning under control of software with the effect of improving a method of creating computer programs. The result of this method is still a computer program excluded as such from patentability under the same Article of the Convention, and that contribution does not therefore lie outside the exclusions defined in the said Article of the Convention.
3.10. Coming back, in this context, to the Appellant's reference to operating system inventions which improve the efficiency of a computer as a machine in its "task- carrying-out aspect", it is noted that the claimed method is not concerned with the operating system of a computer, i.e. its result is not a computer having a new operating system functioning differently from prior art operating systems from a technical point of view; rather, it is concerned with creating computer programs on, and with the help of, a computer, e.g. a "personal computer", having any suitable operating system, e.g. a state-of-the-art operating system (cf. description, page 4 lines 19-24).
3.11. The Appellant has furthermore submitted that the claimed invention would make "useful items of commerce" because, firstly, the product of the claimed invention, a computer program, can be made use of commercially and, secondly, this product is useful in that its purchaser can apply it to practical ends. In respect of this twofold argument, the Board's conclusions are as follows:
3.12. Commercial use, as far as it is not construed as a method for doing business, excluded from patentability under Article 52(2)(c),(3), EPC, is a feature which may be understood to fall under the requirement that an invention must be susceptible of industrial application (Article 52(1) EPC), i.e. that it can be made or used in any kind of industry (Article 57 EPC); reference is made in particular to the German word "gewerblich" in that provision of the Convention. It is not disputed that computer programs can be exploited commercially.
The exclusions from patentability defined in Article 52(2) and (3) EPC do not in any way refer to the requirement in Article 52(1) of "industrial application" but to the requirement in that Article that the subject- matter claimed must be an "invention". The exclusions of Article 52(2)(3) are generally understood as having in common that the excluded matters lack technicality but not that they could not be made or used, e.g. traded. The Appellant's argument in this respect is therefore not relevant to the present case.
3.13. That computer programs may be useful, or applicable to practical ends, is also not disputed. For instance, a computer may control, under control of a program, a technical process and, in accordance with the Board's case law, such a technical process may be patentable.
However, computer programs as such, independent of such an application, are not patentable irrespective of their content, i.e. even if that content happened to be such as to make it useful, when run, for controlling a technical process. Similarly, a programmer's activity of programming would, as a mental act, not be patentable irrespective of whether the resulting program could be used to control a technical process. And finally, automating that activity, in a way which does not involve any unconventional means, would not render that programming method patentable either, independently of the content of the resulting program.
In the present case, the computer program resulting from carrying out the claimed invention is not specified, as the Appellant has correctly stated. No technical effect stemming from its intended, possibly technical, use can therefore be identified. As a consequence thereof, no such technical effect can be relied upon as an argument for technicality, as one condition for patentability, of the claimed system itself, resulting, when being carried out, in the production of any computer programs not restricted to a specific kind of program.
The Appellant's comparison of the claimed system with an apparatus for producing an aesthetic creation, such as a music instrument, is unconvincing because, normally, such an apparatus will itself have novel technical features. In the case of the invention as claimed, no novel technical features of the claimed system, involving a computer whose hardware means may be conventional, can be identified.
4.1. For these reasons, Claim 1 is not allowable because its subject-matter is excluded from patentability (Article 52(2) and (3) EPC).
4.2. Logically, the same conclusion must then be drawn for the independent Claim 5, this claim being understood as defining the function, in operation, of the "system" claimed in Claim 1.
4.3. In this situation it is not necessary to investigate whether Claim 5 might allow a more general interpretation, namely as covering a method which could be carried out by a programmer with pencil and paper, i.e. without making use of a computer, thus only involving mental acts.
4.4. It is furthermore not necessary to consider whether Claim 5 would be disallowed anyway for the reason that Article 64(2) EPC would extend the protection conferred by that method claim to the product directly obtained by such process, namely programs for computers, which extended protection would seem to contravene the explicit provision that programs for computers as such are excluded from patent protection according to Article 52(2) and (3) EPC.
4.5. In the circumstances, it is also not necessary to further investigate whether D1 would be a valid citation for novelty anticipation of the system claimed in Claim 1 or of the method claimed in Claim 5 (Article 54 EPC), or the extent to which it would anticipate any features or steps thereof and be relevant to an objection for lack of inventive step (Article 56 EPC).
4.6. As a consequence of these conclusions (4.1 and 4.2), the decision under appeal rejecting the independent claims as unpatentable must be confirmed.
4.7. In that decision, the Examining Division stated, in addition, that the application (as a whole) did not appear to contain any patentable matter on which an acceptable claim could be based. The Appellant has not in response, i.e. in the appeal, contended that any of the dependent claims would add a feature to Claim 1 or Claim 5 which could render its subject-matter a patentable invention, or that such a feature was disclosed in the description. The Board also cannot recognise such a feature from any part of the application; more specifically, it cannot find there, apart from features of a programming methodology, any inventive hardware or other feature contributing to a technical effect.
In this case, there is therefore no need for a Communication before a final decision is taken.
For these reasons, it is decided that:
The appeal is dismissed.