next up previous
Next: Testing Up: What is a software Previous: Requirements Engineering

Subsections

Implementation

Implementation amounts to building the desired system by manually or (semi-)automatically transforming the design into software source code.

Implementation/Tools

Consider the following hypothetical invention in Implementation/Tools:

The state of the art consists of compiler construction, electronics, and software engineering. The technical content are the techniques to map instruction sequences for a specific device back to energy consumption characteristics of the original source code and the ways to visualize this information. The inventive step is the idea to associate energy consumption with source code. A person skilled in the art is a compiler writer specialized in energy-aware code generation or an electronics expert. A typical infringement is a tool that implements this same idea.

Discussion

Copyright can be used to protect the source code of the tool and its documentation. However, the essential idea embodied in the tool can only be protected by a patent.

Implementation/Deliverables

Consider the following hypothetical invention in Implementation/Deliverables:

The state of the art consists of software engineering and financial mathematics. The technical content are the mathematical models used to make predictions. The inventive step is the specific mathematical model used and its specific implementation. A person skilled in the art is a software engineer or financial specialist. A typical infringement is a software system that implements the same mathematical model.

Discussion

The main deliverable of software implementation is source code and copyright can be used to protect it. However, the essential idea embodied in the software can only be protected by a patent.


next up previous
Next: Testing Up: What is a software Previous: Requirements Engineering
Paul Klint 2006-06-02