Programming, modelling, and new programming languages are hardly patentable

As in the previous decision, also this decision is rather bad news for software developers who intend to protect their creations with software patents.

Some key takeaway messages:

  • Neither modelling nor programming is, by itself, a technical undertaking
  • Modifications to a programming language that enable the programmer to develop a program with greater ease, speed or accuracy, do not make a technical contribution to the art
  • Even if the technical purpose of a simulation method is “adequately defined” and the claim is limited to that purpose, it is questionable whether this makes a technical contribution to the art

The case at hand

Fig. 3B of EP 1 889 154
Fig. 3B of EP 1 889 154

The invention generally related to the modelling and simulation of a multiprocessor system in a graphical programming environment. For the modelling step, the user could specify a functional model and a deployment model, as well as a mapping of functional units in the functional model to processing units in the deployment model. The deployment model could be executed in simulation mode or deployed on a real-time system. To make this possible, the deployment model may have to be compiled and linked and then executed, or it may be executed in interpretive mode.

What the board said

Some relevant citations from the decision:

6.  There is broad agreement in the jurisprudence of the boards of appeal that neither modelling nor programming is, by itself, a technical undertaking  (with regard to modelling see in particular the catchwords of T 49/99, T 354/07, T 1171/06 and T 42/09, point 2.4 of the reasons; with regard to programming see for instance the catchword of T 1539/09 and T 2270/10, point 7 of the reasons).

7. As regards simulation, the board notes that in T 1227/05 a particular numeric simulation method was found to make a technical contribution to the art. Specifically, it was found that “Simulation of a circuit subject to 1/f noise constitutes an adequately defined technical purpose for a computer-implemented method functionally limited to that purpose” (see catchword and point 3.1 of the reasons). In T 1227/05, the deciding board argued that the claimed simulation made it possible to reliably predict how a designed circuit would behave in reality and thus to assess whether manufacturing the circuit would be worthwhile (see T 1227/05, point 3.2.2 of the reasons). As a consequence, all mathematical steps in the claimed method were found to contribute to inventive step (see esp. point 3.2.4 of the reasons).

7.1  It may be questioned whether, for a computer-simulated simulation method to make a technical contribution to the art, it is sufficient that the technical purpose be “adequately defined” and the claim limited to that purpose , as T 1227/05 appears to suggest. Similar doubts were expressed in T 1265/09 (point 1.13 of the reasons, penultimate paragraph) and T 531/09 (point 3 of the reasons).

7.2 In the present case, however, this question may be left open because the board considers that the technical purpose of the claimed simulation is not adequately defined. Present claim 1 is concerned with simulation only insofar as it specifies the execution of a multi-processor specification developed as a graphical program. The claim is not concerned with the “simulation” of any specific such processor, nor any specific class of processors. Rather than the device being modelled and simulated, the claim indicates the programming means with which the model can be specified, namely “functional units”, “processing units”, “IPC channels”, “read/write blocks” and “input/output blocks”.

8.  The major part of claim 1 is thus concerned with the expressions of a graphical programming environment which were found in T 1539/09 (reasons 5) not to contribute to inventive step  (see also T 2270/10, reasons 7), even if, as the appellant argues, it “enables users to” develop the program in question “in a convenient and efficient way” (see the grounds of appeal, page 2, paragraph 3) and simplifies the modelling or the model by “enabl[ing] the user to separate the algorithmic model from the final deployment hardware” (see the grounds of appeal, page 2, paragraph 4).

9. The board also considers that the appellant’s arguments in favour of technical character fail.

9.1 The appellant argues that “associating a simulation model with [an] IPC channel” is a technical effect (grounds of appeal, page 2, paragraph 5). However, the features of the deployment model are not technical merely due to the fact that they represent technical items, because they are still part of the model. This applies in particular to the IPC channel (see point 5 above).

9.2 The appellant also argues that the invention enables users “to efficiently model and simulate a multi-processor system”, in particular a “hierarchical one” (grounds of appeal, page 3, paragraphs 1-2).  However, the board follows its earlier jurisprudence according to which modifications to a programming language or system that enable the programmer to develop a program with greater ease and thus, presumably, speed and accuracy, do not make a technical contribution to the art

9.3 Lastly, the appellant suggests that the invention provides “the further technical effect of a faster simulation” (grounds of appeal, page 3, paragraph 3). If “faster simulation” refers to the “faster development” of the model/program that is being simulated/executed, the previous remark applies. If it refers to the execution of the model being faster, the board considers that there is no basis for this effect in the application to hand.

10. In summary, the board shares the examining division’s opinion that the claimed invention does not make a technical contribution to the art, and thus lacks inventive step, Article 56 EPC 1973.

Want to know more?
Check out my little Youtube channel for even more quick tips on European software patents!

The bottom line

The act of modelling or programming is in itself not accepted as technical by the EPO. This applies even if an entirely new programming language is invented, which “only” allows programmers to work more easily, quickly or accurately.

Read the whole decision here: T 1630/11 (Modelling a multiprocessor system/THE MATHWORKS)

What’s your take?

Should new software development processes and new programming languages be patentable? Let me know in the comments!

As always, for specific questions and requests for advice, email me directly at bastian.best@bardehle.de.

Leave a Reply