Journal of Logic, Language and Information
Abstraction in Computer Science
Minds and Machines
Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B
Fundamenta Informaticae - This is a SPECIAL ISSUE ON ASM'05
Hi-index | 0.00 |
The objects of primary concern to computer scientists are processes, programs, and algorithms. Many non-computer scientists are not clear about the differences between these objects and the precise relationships between these objects are not clear to anyone, computer scientist or not. Terms like abstraction (Colburn & Shute, 2007), instantiation (Abrial & Hallerstede, 2007), and implementation (Rapaport, 2005) are vaguely used to describe the relations among these objects. The nature of these relations, once put into proper context, has serious implications to the study of artificial intelligence, intellectual property, and computer ethics. In this paper, designed to be used in the context of an introduction to the philosophy of computing, a basic ontology is suggested and the importance of the ontology is described. It is then proposed that ontologies which treat implementation as a primitive are not sufficient and that implementation is better understood as a two-step process of abstraction and instantiation.