Digital System Ware

Computer applications are currently developed as sequences of instructions executed by processors in our computers. This is due to the sequential execution paradigm where work is done by sequentially executing instructions one after another. The computer’s processor is a digital system logic (hardware) that executes a sequence of instructions (software) in order to produce the computer application.

However with the advancement of reconfigurable hardware like the FPGA (Field Programmable Gate Array), much research has been ongoing on the new possibilities brought forth by this technology. Implementation on this technology, typically referred to as reconfigurable computing, is based on hardware design techniques as opposed to software design techniques. Here a computer application is directly developed as a digital system logic without any intermediary processor stage. In this way the application inherently uses the parallel execution paradigm, where work is done by the massive collective execution of several parts of the system at the same time. Although the latency (time per unit work done) is reduced, the throughput (work done per unit time) is however significantly increased.

The aim is to encourage a future in which our general purpose computers are now reconfigurable computers that run computer applications developed entirely as digital systems logic. Such applications will be called digital system ware, or simply, disyware.


...to be updated...

An example of a developed disyware is the Rhyscitlema system disyware.


Redefinition of terminologies

It is important to re-define certain terms as clearly as possible:

  1. A computer application (or application) is a usage of (or application of) a computing system in order to provide a service which it has been designed to provided. This usage is essentially the execution of implemented algorithms on the computing system. The system is said to be a computer (or computing system) because it executes algorithms. The service is said to be provided through the application of a computer. It may be provided directly or indirectly to a user. When provided directly it is said to be a user application.
  2. A software application (or software) is a sequence of instructions (or computer program) implementing algorithms for which the execution produces a computer application. It is typically found in a processor-based computer and developed using a computer programming language.
  3. A disyware application (or disyware) is a digital system logic (or hardware description) implementing algorithms for which the execution produces a computer application. It is typically found in a reconfigurable computer and developed using a hardware description language.
  4. A computer hardware (or hardware) is the physical or virtual realisation of a computer design.
  5. A computer kernel (or kernel) is the portion of the computer application that deals with accessing the computer hardware resources, thereby serving as interface between the actual platform-independent application and the underlying hardware.
  6. A system software is a software application that implements its own kernel.
  7. A system disyware is a disyware application that implements its own kernel.
  8. A software operating system is a system software that loads, launches and manages other software applications.
  9. A disyware operating system is a system disyware that loads, launches and manages other disyware applications.
  10. A mobile application is a computer application (software/disyware) used on a mobile computer.
  11. A web application is a computer application (software/disyware) used on the web/network.

Disyware Poster