Hi Jessica,
Please find attached our RDF encoding of the ACM classification scheme
in the AKT reference ontology, and the script used to generate it from
the listings at http://www.acm.org/class/1998/ccs98.txt
The encoding is a fairly simple one:
- OCML/KIF symbols are rewritten as URIs by canonicalising
capitalisation (all lower for relations, initial caps for classes)
and adding the URI prefix http://www.aktors.org/ontology/portal#
(this is what we've been using for our RDF triplestore, and should
be what the OU uses for their OCML->RDF export when Enrico finishes
it).
- I've created a subclass of akt:Research-Area, namely
acm:Research-Area, which is the class of classifications taken from
the ACM scheme:
- URIs for the objects representing the first three levels of the ACM
scheme (eg. B., B.1, and B.1.1) are constructed by adding the URI
prefix http://www.acm.org/class/1998/ to the code for that
classification.
eg. B.1.1 Control Design Styles
becomes
- URIs for the fourth level are constructed by concatenating the URi
prefix to the code for the third level term of which this is a
descendant and a canonicalised and hyphen-separated form of the
textual name for that classification.
eg. B.1.1 Control Design Styles: Hardwired control**
becomes
- The relation between each category and its parent category is given
using akt:sub-area-of
eg. B.1.1 Control Design Styles
becomes
- The textual descriptions for each term are rendered using the
akt:name property.
eg. B.1.1 Control Design Styles
becomes
Control Design Styles
- Exemplar and deprecation notes are rendered as comments on the
objects using the rdfs:comment property.
eg. B.4.1 Data Communications Devices: Receivers (e.g., voice,
data, image)**
becomes
e.g., voice, data, image
This classification is no longer used as of
January 1998.
- Related terms (parenthesised classification code following the
definition for a term) are rendered using the rdfs:seeAlso
property.
eg. D.3.1 Formal Definitions and Theory (D.2.1, F.3.1-2, F.4.2-3)
becomes
------------------------- the ACM Ontology ----------------------
]>
General Literature
GENERAL
Biographies/autobiographies
Conference proceedings
General literary works
e.g., fiction, plays
INTRODUCTORY AND SURVEY
REFERENCE
e.g., dictionaries, encyclopedias, glossaries
MISCELLANEOUS
Hardware
GENERAL
CONTROL STRUCTURES AND MICROPROGRAMMING
General
Control Design Styles
Hardwired control
This classification is no longer used as of January 1998.
Microprogrammed logic arrays
This classification is no longer used as of January 1998.
Writable control store
This classification is no longer used as of January 1998.
Control Structure Performance Analysis and Design Aids
Automatic synthesis
This classification is no longer used as of January 1998.
Formal models
This classification is no longer used as of January 1998.
Simulation
This classification is no longer used as of January 1998.
Control Structure Reliability, Testing, and Fault-Tolerance
This classification is no longer used as of January 1998.
Diagnostics
This classification is no longer used as of January 1998.
Error-checking
This classification is no longer used as of January 1998.
Redundant design
This classification is no longer used as of January 1998.
Test generation
This classification is no longer used as of January 1998.
Microprogram Design Aids
Firmware engineering
This classification is no longer used as of January 1998.
Languages and compilers
Machine-independent microcode generation
This classification is no longer used as of January 1998.
Optimization
Verification
This classification is no longer used as of January 1998.
Microcode Applications
Direct data manipulation
This classification is no longer used as of January 1998.
Firmware support of operating systems/instruction sets
This classification is no longer used as of January 1998.
Instruction set interpretation
Peripheral control
This classification is no longer used as of January 1998.
Special-purpose
This classification is no longer used as of January 1998.
Miscellaneous
ARITHMETIC AND LOGIC STRUCTURES
General
Design Styles
Calculator
This classification is no longer used as of January 1998.
Parallel
Pipeline
Performance Analysis and Design Aids
This classification is no longer used as of January 1998.
Simulation
This classification is no longer used as of January 1998.
Verification
This classification is no longer used as of January 1998.
Worst-case analysis
This classification is no longer used as of January 1998.
Reliability, Testing, and Fault-Tolerance
This classification is no longer used as of January 1998.
Diagnostics
This classification is no longer used as of January 1998.
Error-checking
This classification is no longer used as of January 1998.
Redundant design
This classification is no longer used as of January 1998.
Test generation
This classification is no longer used as of January 1998.
High-Speed Arithmetic
Algorithms
Cost/performance
Miscellaneous
MEMORY STRUCTURES
General
Semiconductor Memories
Dynamic memory (DRAM)
Read-only memory (ROM)
Static memory (SRAM)
Design Styles
Associative memories
Cache memories
Interleaved memories
This classification is no longer used as of January 1998.
Mass storage
e.g., magnetic, optical, RAID
Primary memory
Sequential-access memory
This classification is no longer used as of January 1998.
Shared memory
Virtual memory
Performance Analysis and Design Aids
This classification is no longer used as of January 1998.
Formal models
This classification is no longer used as of January 1998.
Simulation
This classification is no longer used as of January 1998.
Worst-case analysis
This classification is no longer used as of January 1998.
Reliability, Testing, and Fault-Tolerance
This classification is no longer used as of January 1998.
Diagnostics
This classification is no longer used as of January 1998.
Error-checking
This classification is no longer used as of January 1998.
Redundant design
This classification is no longer used as of January 1998.
Test generation
This classification is no longer used as of January 1998.
Miscellaneous
INPUT/OUTPUT AND DATA COMMUNICATIONS
General
Data Communications Devices
Processors
This classification is no longer used as of January 1998.
Receivers
e.g., voice, data, image
This classification is no longer used as of January 1998.
Transmitters
This classification is no longer used as of January 1998.
Input/Output Devices
Channels and controllers
Data terminals and printers
Image display
Voice
Interconnections (Subsystems)
Asynchronous/synchronous operation
Fiber optics
Interfaces
Parallel I/O
Physical structures
e.g., backplanes, cables, chip carriers
This classification is no longer used as of January 1998.
Topology
e.g., bus, point-to-point
Performance Analysis and Design Aids
This classification is no longer used as of January 1998.
Formal models
This classification is no longer used as of January 1998.
Simulation
This classification is no longer used as of January 1998.
Verification
This classification is no longer used as of January 1998.
Worst-case analysis
This classification is no longer used as of January 1998.
Reliability, Testing, and Fault-Tolerance
This classification is no longer used as of January 1998.
Built-in tests
This classification is no longer used as of January 1998.
Diagnostics
This classification is no longer used as of January 1998.
Error-checking
This classification is no longer used as of January 1998.
Hardware reliability
This classification is no longer used as of January 1998.
Redundant design
This classification is no longer used as of January 1998.
Test generation
This classification is no longer used as of January 1998.
Miscellaneous
REGISTER-TRANSFER-LEVEL IMPLEMENTATION
General
Design
Arithmetic and logic units
Control design
Data-path design
Memory design
Styles
e.g., parallel, pipeline, special-purpose
Design Aids
Automatic synthesis
Hardware description languages
Optimization
Simulation
Verification
Reliability and Testing
This classification is no longer used as of January 1998.
Built-in tests
This classification is no longer used as of January 1998.
Error-checking
This classification is no longer used as of January 1998.
Redundant design
This classification is no longer used as of January 1998.
Test generation
This classification is no longer used as of January 1998.
Testability
This classification is no longer used as of January 1998.
Miscellaneous
LOGIC DESIGN
General
Design Styles
Cellular arrays and automata
Combinational logic
Logic arrays
Memory control and access
This classification is no longer used as of January 1998.
Memory used as logic
This classification is no longer used as of January 1998.
Parallel circuits
Sequential circuits
Reliability and Testing
This classification is no longer used as of January 1998.
Built-in tests
This classification is no longer used as of January 1998.
Error-checking
This classification is no longer used as of January 1998.
Redundant design
This classification is no longer used as of January 1998.
Test generation
This classification is no longer used as of January 1998.
Testability
This classification is no longer used as of January 1998.
Design Aids
Automatic synthesis
Hardware description languages
Optimization
Simulation
Switching theory
Verification
Miscellaneous
INTEGRATED CIRCUITS
General
Types and Design Styles
Advanced technologies
Algorithms implemented in hardware
Gate arrays
Input/output circuits
Memory technologies
Microprocessors and microcomputers
Standard cells
This classification is no longer used as of January 1998.
VLSI (very large scale integration)
Design Aids
Graphics
Layout
Placement and routing
Simulation
Verification
Reliability and Testing
This classification is no longer used as of January 1998.
Built-in tests
This classification is no longer used as of January 1998.
Error-checking
This classification is no longer used as of January 1998.
Redundant design
This classification is no longer used as of January 1998.
Test generation
This classification is no longer used as of January 1998.
Testability
This classification is no longer used as of January 1998.
Miscellaneous
PERFORMANCE AND RELIABILITY
General
Reliability, Testing, and Fault-Tolerance
Performance Analysis and Design Aids
Miscellaneous
MISCELLANEOUS
Design management
Computer Systems Organization
GENERAL
Hardware/software interfaces
Instruction set design
e.g., RISC, CISC, VLIW
Modeling of computer architecture
System architectures
Systems specification methodology
PROCESSOR ARCHITECTURES
General
Single Data Stream Architectures
Multiple-instruction-stream, single-data-stream processors (MISD)
This classification is no longer used as of January 1998.
Pipeline processors
This classification is no longer used as of January 1998.
RISC/CISC, VLIW architectures
Single-instruction-stream, single-data-stream processors (SISD)
This classification is no longer used as of January 1998.
Von Neumann architectures
This classification is no longer used as of January 1998.
Multiple Data Stream Architectures (Multiprocessors)
Array and vector processors
Associative processors
Connection machines
Interconnection architectures
e.g., common bus, multiport memory, crossbar switch
Multiple-instruction-stream, multiple-data-stream processors (MIMD)
Parallel processors
This classification is no longer used as of January 1998.
Pipeline processors
This classification is no longer used as of January 1998.
Single-instruction-stream, multiple-data-stream processors (SIMD)
Other Architecture Styles
Adaptable architectures
Analog computers
Capability architectures
This classification is no longer used as of January 1998.
Cellular architecture
e.g., mobile
Data-flow architectures
Heterogeneous (hybrid) systems
High-level language architectures
This classification is no longer used as of January 1998.
Neural nets
Pipeline processors
Stack-oriented processors
This classification is no longer used as of January 1998.
Parallel Architectures
Distributed architectures
Mobile processors
Miscellaneous
Analog computers
This classification is no longer used as of January 1998.
Hybrid systems
This classification is no longer used as of January 1998.
COMPUTER-COMMUNICATION NETWORKS
General
Data communications
Open Systems Interconnection reference model (OSI)
Security and protection
e.g., firewalls
Network Architecture and Design
Asynchronous Transfer Mode (ATM)
Centralized networks
This classification is no longer used as of January 1998.
Circuit-switching networks
Distributed networks
Frame relay networks
ISDN (Integrated Services Digital Network)
Network communications
Network topology
Packet-switching networks
Store and forward networks
Wireless communication
Network Protocols
Applications (SMTP, FTP, etc.)
Protocol architecture (OSI model)
Protocol verification
Routing protocols
Network Operations
Network management
Network monitoring
Public networks
Distributed Systems
Client/server
Distributed applications
Distributed databases
Network operating systems
Local and Wide-Area Networks
Access schemes
Buses
Ethernet
e.g., CSMA/CD
High-speed
e.g., FDDI, fiber channel, ATM
Internet
e.g., TCP/IP
Token rings
Internetworking
Routers
Standards
e.g., TCP/IP
Miscellaneous
SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS
Microprocessor/microcomputer applications
Process control systems
Real-time and embedded systems
Signal processing systems
Smartcards
PERFORMANCE OF SYSTEMS
Design studies
Fault tolerance
Measurement techniques
Modeling techniques
Performance attributes
Reliability, availability, and serviceability
COMPUTER SYSTEM IMPLEMENTATION
General
Large and Medium (``Mainframe'') Computers
Super (very large) computers
Minicomputers
This classification is no longer used as of January 1998.
Microcomputers
Microprocessors
Personal computers
Portable devices
e.g., laptops, personal digital assistants
Workstations
VLSI Systems
Servers
Miscellaneous
MISCELLANEOUS
Software
GENERAL
PROGRAMMING TECHNIQUES
General
Applicative (Functional) Programming
Automatic Programming
Concurrent Programming
Distributed programming
Parallel programming
Sequential Programming
Object-oriented Programming
Logic Programming
Visual Programming
Miscellaneous
SOFTWARE ENGINEERING
General
Protection mechanisms
Standards
Requirements/Specifications
Elicitation methods
e.g., rapid prototyping, interviews, JAD
Languages
Methodologies
e.g., object-oriented, structured
Tools
Design Tools and Techniques
Computer-aided software engineering (CASE)
Decision tables
Evolutionary prototyping
Flow charts
Modules and interfaces
Object-oriented design methods
Petri nets
Programmer workbench
This classification is no longer used as of January 1998.
Software libraries
State diagrams
Structured programming
This classification is no longer used as of January 1998.
Top-down programming
This classification is no longer used as of January 1998.
User interfaces
Coding Tools and Techniques
Object-oriented programming
Pretty printers
Program editors
Reentrant code
This classification is no longer used as of January 1998.
Standards
Structured programming
Top-down programming
Software/Program Verification
Assertion checkers
Class invariants
Correctness proofs
Formal methods
Model checking
Programming by contract
Reliability
Statistical methods
Validation
Testing and Debugging
Code inspections and walk-throughs
Debugging aids
Diagnostics
Distributed debugging
Dumps
This classification is no longer used as of January 1998.
Error handling and recovery
Monitors
Symbolic execution
Testing tools
e.g., data generators, coverage testing
Tracing
Programming Environments
Graphical environments
Integrated environments
Interactive environments
Programmer workbench
Distribution, Maintenance, and Enhancement
Corrections
This classification is no longer used as of January 1998.
Documentation
Enhancement
This classification is no longer used as of January 1998.
Extensibility
This classification is no longer used as of January 1998.
Portability
Restructuring, reverse engineering, and reengineering
Version control
Metrics
Complexity measures
Performance measures
Process metrics
Product metrics
Software science
This classification is no longer used as of January 1998.
Management
Copyrights
This classification is no longer used as of January 1998.
Cost estimation
Life cycle
Productivity
Programming teams
Software configuration management
Software process models
e.g., CMM, ISO, PSP
Software quality assurance (SQA)
Time estimation
Design
This classification is no longer used as of January 1998.
Methodologies
This classification is no longer used as of January 1998.
Representation
This classification is no longer used as of January 1998.
Software Architectures
Data abstraction
Domain-specific architectures
Information hiding
Languages
e.g., description, interconnection, definition
Patterns
e.g., client/server, pipeline, blackboard
Interoperability
Data mapping
Distributed objects
Interface definition languages
Reusable Software
Domain engineering
Reusable libraries
Reuse models
Miscellaneous
Rapid prototyping
This classification is no longer used as of January 1998.
Reusable software
This classification is no longer used as of January 1998.
PROGRAMMING LANGUAGES
General
Standards
Formal Definitions and Theory
Semantics
Syntax
Language Classifications
Applicative (functional) languages
Concurrent, distributed, and parallel languages
Constraint and logic languages
Data-flow languages
Design languages
Extensible languages
Macro and assembly languages
Microprogramming languages
This classification is no longer used as of January 1998.
Multiparadigm languages
Nondeterministic languages
This classification is no longer used as of January 1998.
Nonprocedural languages
This classification is no longer used as of January 1998.
Object-oriented languages
Specialized application languages
Very high-level languages
Language Constructs and Features
Abstract data types
Classes and objects
Concurrent programming structures
Constraints
Control structures
Coroutines
Data types and structures
Dynamic storage management
Frameworks
Inheritance
Input/output
Modules, packages
Patterns
Polymorphism
Procedures, functions, and subroutines
Recursion
Processors
Code generation
Compilers
Debuggers
Incremental compilers
Interpreters
Memory management (garbage collection)
Optimization
Parsing
Preprocessors
Retargetable compilers
Run-time environments
Translator writing systems and compiler generators
Miscellaneous
OPERATING SYSTEMS
General
Process Management
Concurrency
Deadlocks
Multiprocessing/multiprogramming/multitasking
Mutual exclusion
Scheduling
Synchronization
Threads
Storage Management
Allocation/deallocation strategies
Distributed memories
Garbage collection
Main memory
Secondary storage
Segmentation
This classification is no longer used as of January 1998.
Storage hierarchies
Swapping
This classification is no longer used as of January 1998.
Virtual memory
File Systems Management
Access methods
Directory structures
Distributed file systems
File organization
Maintenance
This classification is no longer used as of January 1998.
Communications Management
Buffering
Input/output
Message sending
Network communication
Terminal management
This classification is no longer used as of January 1998.
Reliability
Backup procedures
Checkpoint/restart
Fault-tolerance
Verification
Security and Protection
Access controls
Authentication
Cryptographic controls
Information flow controls
Invasive software
e.g., viruses, worms, Trojan horses
Security kernels
This classification is no longer used as of January 1998.
Verification
This classification is no longer used as of January 1998.
Organization and Design
Batch processing systems
This classification is no longer used as of January 1998.
Distributed systems
Hierarchical design
This classification is no longer used as of January 1998.
Interactive systems
Real-time systems and embedded systems
Performance
Measurements
Modeling and prediction
Monitors
Operational analysis
Queueing theory
Simulation
Stochastic analysis
Systems Programs and Utilities
Command and control languages
Linkers
This classification is no longer used as of January 1998.
Loaders
This classification is no longer used as of January 1998.
Window managers
Miscellaneous
MISCELLANEOUS
Software psychology
This classification is no longer used as of January 1998.
Data
GENERAL
DATA STRUCTURES
Arrays
Distributed data structures
Graphs and networks
Lists, stacks, and queues
Records
Tables
This classification is no longer used as of January 1998.
Trees
DATA STORAGE REPRESENTATIONS
Composite structures
This classification is no longer used as of January 1998.
Contiguous representations
This classification is no longer used as of January 1998.
Hash-table representations
Linked representations
Object representation
Primitive data items
This classification is no longer used as of January 1998.
DATA ENCRYPTION
Code breaking
Data encryption standard (DES)
This classification is no longer used as of January 1998.
Public key cryptosystems
Standards
e.g., DES, PGP, RSA
CODING AND INFORMATION THEORY
Data compaction and compression
Error control codes
Formal models of communication
Nonsecret encoding schemes
This classification is no longer used as of January 1998.
FILES
Backup/recovery
Optimization
This classification is no longer used as of January 1998.
Organization/structure
Sorting/searching
MISCELLANEOUS
Theory of Computation
GENERAL
COMPUTATION BY ABSTRACT DEVICES
General
Models of Computation
Automata
e.g., finite, push-down, resource-bounded
Bounded-action devices
e.g., Turing machines, random access machines
Computability theory
Relations between models
Self-modifying machines
e.g., neural networks
Unbounded-action devices
e.g., cellular automata, circuits, networks of machines
Modes of Computation
Alternation and nondeterminism
Interactive and reactive computation
Online computation
Parallelism and concurrency
Probabilistic computation
Relations among modes
This classification is no longer used as of January 1998.
Relativized computation
Complexity Measures and Classes
Complexity hierarchies
Machine-independent complexity
This classification is no longer used as of January 1998.
Reducibility and completeness
Relations among complexity classes
Relations among complexity measures
Miscellaneous
ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY
General
Numerical Algorithms and Problems
Computation of transforms
e.g., fast Fourier transform
Computations in finite fields
Computations on matrices
Computations on polynomials
Number-theoretic computations
e.g., factoring, primality testing
Nonnumerical Algorithms and Problems
Complexity of proof procedures
Computations on discrete structures
Geometrical problems and computations
Pattern matching
Routing and layout
Sequencing and scheduling
Sorting and searching
Tradeoffs between Complexity Measures
Miscellaneous
LOGICS AND MEANINGS OF PROGRAMS
General
Specifying and Verifying and Reasoning about Programs
Assertions
Invariants
Logics of programs
Mechanical verification
Pre- and post-conditions
Specification techniques
Semantics of Programming Languages
Algebraic approaches to semantics
Denotational semantics
Operational semantics
Partial evaluation
Process models
Program analysis
Studies of Program Constructs
Control primitives
Functional constructs
Object-oriented constructs
Program and recursion schemes
Type structure
Miscellaneous
MATHEMATICAL LOGIC AND FORMAL LANGUAGES
General
Mathematical Logic
Computability theory
Computational logic
Lambda calculus and related systems
Logic and constraint programming
Mechanical theorem proving
Modal logic
Model theory
Proof theory
Recursive function theory
Set theory
Temporal logic
Grammars and Other Rewriting Systems
Decision problems
Grammar types
e.g., context-free, context-sensitive
Parallel rewriting systems
e.g., developmental systems, L-systems
Parsing
Thue systems
Formal Languages
Algebraic language theory
Classes defined by grammars or automata
e.g., context-free languages, regular sets, recursive sets
Classes defined by resource-bounded automata
This classification is no longer used as of January 1998.
Decision problems
Operations on languages
Miscellaneous
MISCELLANEOUS
Mathematics of Computing
GENERAL
NUMERICAL ANALYSIS
General
Computer arithmetic
Conditioning (and ill-conditioning)
Error analysis
Interval arithmetic
Multiple precision arithmetic
Numerical algorithms
Parallel algorithms
Stability (and instability)
Interpolation
Difference formulas
This classification is no longer used as of January 1998.
Extrapolation
Interpolation formulas
Smoothing
Spline and piecewise polynomial interpolation
Approximation
Approximation of surfaces and contours
Chebyshev approximation and theory
Elementary function approximation
Fast Fourier transforms (FFT)
Least squares approximation
Linear approximation
Minimax approximation and algorithms
Nonlinear approximation
Rational approximation
Special function approximations
Spline and piecewise polynomial approximation
Wavelets and fractals
Numerical Linear Algebra
Conditioning
Determinants
This classification is no longer used as of January 1998.
Eigenvalues and eigenvectors (direct and iterative methods)
Error analysis
Linear systems (direct and iterative methods)
Matrix inversion
Pseudoinverses
This classification is no longer used as of January 1998.
Singular value decomposition
Sparse, structured, and very large systems (direct and iterative methods)
Quadrature and Numerical Differentiation
Adaptive and iterative quadrature
Automatic differentiation
Equal interval integration
This classification is no longer used as of January 1998.
Error analysis
Finite difference methods
Gaussian quadrature
Iterative methods
Multidimensional (multiple) quadrature
Roots of Nonlinear Equations
Continuation (homotopy) methods
Convergence
Error analysis
Iterative methods
Polynomials, methods for
Systems of equations
Optimization
Constrained optimization
Convex programming
Global optimization
Gradient methods
Integer programming
Least squares methods
Linear programming
Nonlinear programming
Quadratic programming methods
Simulated annealing
Stochastic programming
Unconstrained optimization
Ordinary Differential Equations
Boundary value problems
Chaotic systems
Convergence and stability
Differential-algebraic equations
Error analysis
Finite difference methods
Initial value problems
Multistep and multivalue methods
One-step (single step) methods
Stiff equations
Partial Differential Equations
Domain decomposition methods
Elliptic equations
Finite difference methods
Finite element methods
Finite volume methods
Hyperbolic equations
Inverse problems
Iterative solution techniques
Method of lines
Multigrid and multilevel methods
Parabolic equations
Spectral methods
Integral Equations
Delay equations
Fredholm equations
Integro-differential equations
Volterra equations
Applications
Miscellaneous
DISCRETE MATHEMATICS
General
Combinatorics
Combinatorial algorithms
Counting problems
Generating functions
Permutations and combinations
Recurrences and difference equations
Graph Theory
Graph algorithms
Graph labeling
Hypergraphs
Network problems
Path and circuit problems
Trees
Applications
Miscellaneous
PROBABILITY AND STATISTICS
Contingency table analysis
Correlation and regression analysis
Distribution functions
Experimental design
Markov processes
Multivariate statistics
Nonparametric statistics
Probabilistic algorithms (including Monte Carlo)
Queueing theory
Random number generation
Reliability and life testing
Renewal theory
Robust regression
Statistical computing
Statistical software
Stochastic processes
Survival analysis
Time series analysis
MATHEMATICAL SOFTWARE
Algorithm design and analysis
Certification and testing
Documentation
Efficiency
Parallel and vector implementations
Portability
This classification is no longer used as of January 1998.
Reliability and robustness
User interfaces
Verification
This classification is no longer used as of January 1998.
MISCELLANEOUS
Queueing theory
This classification is no longer used as of January 1998.
Information Systems
GENERAL
MODELS AND PRINCIPLES
General
Systems and Information Theory
General systems theory
Information theory
Value of information
User/Machine Systems
Human factors
Human information processing
Software psychology
Miscellaneous
DATABASE MANAGEMENT
General
Security, integrity, and protection
This classification is no longer used as of January 1998.
Logical Design
Data models
Normal forms
Schema and subschema
Physical Design
Access methods
Deadlock avoidance
Recovery and restart
Languages
Data description languages (DDL)
Data manipulation languages (DML)
Database (persistent) programming languages
Query languages
Report writers
Systems
Concurrency
Distributed databases
Multimedia databases
Object-oriented databases
Parallel databases
Query processing
Relational databases
Rule-based databases
Textual databases
Transaction processing
Heterogeneous Databases
Data translation
This classification is no longer used as of January 1998.
Program translation
This classification is no longer used as of January 1998.
Database Machines
Database Administration
Data dictionary/directory
Data warehouse and repository
Logging and recovery
Security, integrity, and protection
Database Applications
Data mining
Image databases
Scientific databases
Spatial databases and GIS
Statistical databases
Miscellaneous
INFORMATION STORAGE AND RETRIEVAL
General
Content Analysis and Indexing
Abstracting methods
Dictionaries
Indexing methods
Linguistic processing
Thesauruses
Information Storage
File organization
Record classification
This classification is no longer used as of January 1998.
Information Search and Retrieval
Clustering
Information filtering
Query formulation
Relevance feedback
Retrieval models
Search process
Selection process
Systems and Software
Current awareness systems (selective dissemination of information--SDI)
This classification is no longer used as of January 1998.
Distributed systems
Information networks
Performance evaluation (efficiency and effectiveness)
Question-answering (fact retrieval) systems
This classification is no longer used as of January 1998.
User profiles and alert services
Online Information Services
Commercial services
Data sharing
Web-based services
Library Automation
Large text archives
Digital Libraries
Collection
Dissemination
Standards
Systems issues
User issues
Miscellaneous
INFORMATION SYSTEMS APPLICATIONS
General
Office Automation
Desktop publishing
Equipment
This classification is no longer used as of January 1998.
Groupware
Spreadsheets
Time management
e.g., calendars, schedules
Word processing
Workflow management
Types of Systems
Decision support
e.g., MIS
Logistics
Communications Applications
Bulletin boards
Computer conferencing, teleconferencing, and videoconferencing
Electronic mail
Information browsers
Videotex
Miscellaneous
INFORMATION INTERFACES AND PRESENTATION
e.g., HCI) (I.7
General
Multimedia Information Systems
Animations
Artificial, augmented, and virtual realities
Audio input/output
Evaluation/methodology
Hypertext navigation and maps
This classification is no longer used as of January 1998.
Video
e.g., tape, disk, DVI
User Interfaces
Auditory (non-speech) feedback
Benchmarking
Ergonomics
Evaluation/methodology
Graphical user interfaces (GUI)
Haptic I/O
Input devices and strategies
e.g., mouse, touchscreen
Interaction styles
e.g., commands, menus, forms, direct manipulation
Natural language
Prototyping
Screen design
e.g., text, graphics, color
Standardization
Style guides
Theory and methods
Training, help, and documentation
User-centered design
User interface management systems (UIMS)
Voice I/O
Windowing systems
Group and Organization Interfaces
Asynchronous interaction
Collaborative computing
Computer-supported cooperative work
Evaluation/methodology
Organizational design
Synchronous interaction
Theory and models
Web-based interaction
Hypertext/Hypermedia
Architectures
Navigation
Theory
User issues
Sound and Music Computing
Methodologies and techniques
Modeling
Signal analysis, synthesis, and processing
Systems
Miscellaneous
MISCELLANEOUS
Computing Methodologies
GENERAL
SYMBOLIC AND ALGEBRAIC MANIPULATION
General
Expressions and Their Representation
Representations (general and polynomial)
Simplification of expressions
Algorithms
Algebraic algorithms
Analysis of algorithms
Nonalgebraic algorithms
Languages and Systems
Evaluation strategies
Nonprocedural languages
This classification is no longer used as of January 1998.
Special-purpose algebraic systems
Special-purpose hardware
This classification is no longer used as of January 1998.
Substitution mechanisms
This classification is no longer used as of January 1998.
Applications
Miscellaneous
ARTIFICIAL INTELLIGENCE
General
Cognitive simulation
Philosophical foundations
Applications and Expert Systems
Cartography
Games
Industrial automation
Law
Medicine and science
Natural language interfaces
Office automation
Automatic Programming
Automatic analysis of algorithms
Program modification
Program synthesis
Program transformation
Program verification
Deduction and Theorem Proving
Answer/reason extraction
Deduction
e.g., natural, rule-based
Inference engines
Logic programming
Mathematical induction
Metatheory
This classification is no longer used as of January 1998.
Nonmonotonic reasoning and belief revision
Resolution
Uncertainty, ``fuzzy,'' and probabilistic reasoning
Knowledge Representation Formalisms and Methods
Frames and scripts
Modal logic
Predicate logic
Relation systems
Representation languages
Representations (procedural and rule-based)
Semantic networks
Temporal logic
Programming Languages and Software
Expert system tools and techniques
Learning
Analogies
Concept learning
Connectionism and neural nets
Induction
Knowledge acquisition
Language acquisition
Parameter learning
Natural Language Processing
Discourse
Language generation
Language models
Language parsing and understanding
Machine translation
Speech recognition and synthesis
Text analysis
Problem Solving, Control Methods, and Search
Backtracking
Control theory
Dynamic programming
Graph and tree search strategies
Heuristic methods
Plan execution, formation, and generation
Scheduling
Robotics
Autonomous vehicles
Commercial robots and applications
Kinematics and dynamics
Manipulators
Operator interfaces
Propelling mechanisms
Sensors
Workcell organization and planning
Vision and Scene Understanding
3D/stereo scene analysis
Architecture and control structures
This classification is no longer used as of January 1998.
Intensity, color, photometry, and thresholding
Modeling and recovery of physical attributes
Motion
Perceptual reasoning
Representations, data structures, and transforms
Shape
Texture
Video analysis
Distributed Artificial Intelligence
Coherence and coordination
Intelligent agents
Languages and structures
Multiagent systems
Miscellaneous
COMPUTER GRAPHICS
General
Hardware Architecture
Graphics processors
Hardcopy devices
This classification is no longer used as of January 1998.
Input devices
Parallel processing
Raster display devices
Storage devices
This classification is no longer used as of January 1998.
Three-dimensional displays
This classification is no longer used as of January 1998.
Vector display devices
This classification is no longer used as of January 1998.
Graphics Systems
Distributed/network graphics
Remote systems
This classification is no longer used as of January 1998.
Stand-alone systems
This classification is no longer used as of January 1998.
Picture/Image Generation
Antialiasing
This classification is no longer used as of January 1998.
Bitmap and framebuffer operations
Digitizing and scanning
Display algorithms
Line and curve generation
Viewing algorithms
Graphics Utilities
Application packages
Device drivers
This classification is no longer used as of January 1998.
Graphics editors
Graphics packages
Meta files
This classification is no longer used as of January 1998.
Paint systems
Picture description languages
This classification is no longer used as of January 1998.
Software support
Virtual device interfaces
Computational Geometry and Object Modeling
Boundary representations
Constructive solid geometry (CSG)
This classification is no longer used as of January 1998.
Curve, surface, solid, and object representations
Geometric algorithms, languages, and systems
Hierarchy and geometric transformations
Modeling packages
Object hierarchies
Physically based modeling
Splines
Methodology and Techniques
Device independence
This classification is no longer used as of January 1998.
Ergonomics
Graphics data structures and data types
Interaction techniques
Languages
Standards
Three-Dimensional Graphics and Realism
Animation
Color, shading, shadowing, and texture
Fractals
Hidden line/surface removal
Radiosity
Raytracing
Virtual reality
Visible line/surface algorithms
Applications
Miscellaneous
IMAGE PROCESSING AND COMPUTER VISION
General
Image displays
Image processing software
Digitization and Image Capture
Camera calibration
Imaging geometry
Quantization
Radiometry
Reflectance
Sampling
Scanning
Compression (Coding)
Approximate methods
Exact coding
This classification is no longer used as of January 1998.
Enhancement
Filtering
Geometric correction
Grayscale manipulation
Registration
Sharpening and deblurring
This classification is no longer used as of January 1998.
Smoothing
Restoration
Inverse filtering
This classification is no longer used as of January 1998.
Kalman filtering
Pseudoinverse restoration
This classification is no longer used as of January 1998.
Wiener filtering
This classification is no longer used as of January 1998.
Reconstruction
Series expansion methods
Summation methods
This classification is no longer used as of January 1998.
Transform methods
Segmentation
Edge and feature detection
Pixel classification
Region growing, partitioning
Relaxation
Feature Measurement
Feature representation
Invariants
Moments
Projections
Size and shape
Texture
Scene Analysis
Color
Depth cues
Motion
Object recognition
Photometry
Range data
Sensor fusion
Shading
Shape
Stereo
Surface fitting
Time-varying imagery
Tracking
Applications
Image Representation
Hierarchical
Morphological
Multidimensional
Statistical
Volumetric
Miscellaneous
PATTERN RECOGNITION
General
Models
Deterministic
This classification is no longer used as of January 1998.
Fuzzy set
Geometric
Neural nets
Statistical
Structural
Design Methodology
Classifier design and evaluation
Feature evaluation and selection
Pattern analysis
Clustering
Algorithms
Similarity measures
Applications
Computer vision
Signal processing
Text processing
Waveform analysis
Implementation
Interactive systems
Special architectures
Miscellaneous
SIMULATION AND MODELING
General
Simulation Theory
Model classification
Systems theory
Types of simulation (continuous and discrete)
This classification is no longer used as of January 1991.
Simulation Languages
Applications
Model Validation and Analysis
Model Development
Modeling methodologies
Simulation Output Analysis
Simulation Support Systems
Environments
Types of Simulation
Animation
Combined
Continuous
Discrete event
Distributed
Gaming
Monte Carlo
Parallel
Visual
Miscellaneous
DOCUMENT AND TEXT PROCESSING
General
Document and Text Editing
Document management
Languages
This classification is no longer used as of January 1998.
Spelling
This classification is no longer used as of January 1998.
Version control
Document Preparation
Desktop publishing
Format and notation
Hypertext/hypermedia
Index generation
Languages and systems
Markup languages
Multi/mixed media
Photocomposition/typesetting
Scripting languages
Standards
Index Generation
This classification is no longer used as of January 1998.
Electronic Publishing
Document Capture
Document analysis
Graphics recognition and interpretation
Optical character recognition (OCR)
Scanning
Miscellaneous
MISCELLANEOUS
Computer Applications
GENERAL
ADMINISTRATIVE DATA PROCESSING
Business
Education
Financial
e.g., EFTS
Government
Law
Manufacturing
Marketing
Military
PHYSICAL SCIENCES AND ENGINEERING
Aerospace
Archaeology
Astronomy
Chemistry
Earth and atmospheric sciences
Electronics
Engineering
Mathematics and statistics
Physics
LIFE AND MEDICAL SCIENCES
Biology and genetics
Health
Medical information systems
SOCIAL AND BEHAVIORAL SCIENCES
Economics
Psychology
Sociology
ARTS AND HUMANITIES
Architecture
Arts, fine and performing
This classification is no longer used as of January 1998.
Fine arts
Language translation
Linguistics
Literature
Music
This classification is no longer used as of January 1998.
Performing arts
e.g., dance, music
COMPUTER-AIDED ENGINEERING
Computer-aided design (CAD)
Computer-aided manufacturing (CAM)
COMPUTERS IN OTHER SYSTEMS
Command and control
Consumer products
Industrial control
Military
Process control
Publishing
Real time
MISCELLANEOUS
Computing Milieux
GENERAL
THE COMPUTER INDUSTRY
Markets
Standards
Statistics
Suppliers
HISTORY OF COMPUTING
Hardware
People
Software
Systems
Theory
COMPUTERS AND EDUCATION
General
Computer Uses in Education
Collaborative learning
Computer-assisted instruction (CAI)
Computer-managed instruction (CMI)
Distance learning
Computer and Information Science Education
Accreditation
Computer science education
Curriculum
Information systems education
Literacy
Self-assessment
Miscellaneous
Accreditation
This classification is no longer used as of January 1998.
Computer literacy
This classification is no longer used as of January 1998.
COMPUTERS AND SOCIETY
General
Public Policy Issues
Abuse and crime involving computers
Computer-related health issues
Ethics
Human safety
Intellectual property rights
Privacy
Regulation
Transborder data flow
Use/abuse of power
Social Issues
Abuse and crime involving computers
This classification is no longer used as of January 1998.
Assistive technologies for persons with disabilities
Employment
Handicapped persons/special needs
This classification is no longer used as of January 1998.
Organizational Impacts
Automation
Computer-supported collaborative work
Employment
Reengineering
Electronic Commerce
Cybercash, digital cash
Distributed commercial transactions
Electronic data interchange (EDI)
Intellectual property
Payment schemes
Security
Miscellaneous
LEGAL ASPECTS OF COMPUTING
General
Hardware/Software Protection
Copyrights
Licensing
Patents
Proprietary rights
Trade secrets
This classification is no longer used as of January 1998.
Governmental Issues
Censorship
Regulation
Taxation
Miscellaneous
Contracts
This classification is no longer used as of January 1998.
Hardware patents
This classification is no longer used as of January 1998.
MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
General
Economics
Project and People Management
Life cycle
Management techniques
e.g., PERT/CPM
Staffing
Strategic information systems planning
Systems analysis and design
Systems development
Training
Installation Management
Benchmarks
Computer selection
Computing equipment management
Performance and usage measurement
Pricing and resource allocation
Software Management
Software development
Software maintenance
Software process
Software selection
System Management
Centralization/decentralization
Management audit
Quality assurance
Security and Protection
Authentication
Insurance
This classification is no longer used as of January 1998.
Invasive software
e.g., viruses, worms, Trojan horses
Physical security
This classification is no longer used as of January 1998.
Unauthorized access
e.g., hacking, phreaking
Miscellaneous
Insurance
This classification is no longer used as of January 1991.
Security
This classification is no longer used as of January 1991.
THE COMPUTING PROFESSION
General
Occupations
Organizations
Testing, Certification, and Licensing
Professional Ethics
Codes of ethics
Codes of good practice
Ethical dilemmas
Miscellaneous
Codes of good practice
This classification is no longer used as of January 1998.
Ethics
This classification is no longer used as of January 1998.
PERSONAL COMPUTING
Games
This classification is no longer used as of January 1991.
General
Games
Application Packages
Data communications
Database processing
Freeware/shareware
Graphics
Spreadsheets
Word processing
Hardware
Management/Maintenance
Miscellaneous
MISCELLANEOUS
--8yRt76xTED
Content-Type: text/plain
Content-Disposition: inline;
filename="acm2rdf.pl"
Content-Transfer-Encoding: 7bit
#!/usr/bin/perl
#
# Copyright 2002 Nick Gibbins
#
# Generates RDF from ACM classification scheme at
# http://www.acm.org/class/1998/ccs98.txt according to the AKT reference
# ontology
$acmns = "http://www.acm.org/class/1998/";
print <
]>
EOH
while (<>) {
($class,$title) = /^([A-Z0-9m.]+)?[ ]*(.*)$/;
# remove trailing period from top level headings
$class =~ s/\.$//g;
if ($class eq "" and $title eq "") {
# do nothing
} else {
if ($class eq "") {
$class = $lastclass;
$uncoded = 1;
} else {
$lastclass = $class;
$uncoded = 0;
}
# remove editorial comments
$title =~ s/\(NEW\)//g;
$title =~ s/\(REVISED\)//g;
($comment) = $title =~ /\((e\.g\.,.+)\)/g;
$title =~ s/\(e\.g\.,.+\)//g;
($seealso) = $title =~ /\(([A-Z](\.[0-9]+(-[0-9]+)?)*(,[ ]*[A-Z](\.[0-9]+(-[0-9]+)?)*)*)\)/;
$title =~ s/\(([A-Z](\.[0-9]+(-[0-9]+)?)*(,[ ]*[A-Z](\.[0-9]+(-[0-9]+)?)*)*)\)//g;
# trim trailing whitespace
$title =~ s/\s+$//g;
if ($uncoded) {
$parent = $class;
} else {
$parent = $class;
$parent =~ s/\.[0-9m]$//g;
if ($class =~ /^[A-Z]$/) {
$parent = "";
}
}
# remove deprecated headings
if ($title =~ /\*\*/) {
$deprecated = 1998;
$title =~ s/\*//g;
} elsif ($title =~ /\*/) {
$deprecated = 1991;
$title =~ s/\*//g;
} else {
$deprecated = 0;
}
if ($uncoded) {
$label = $title;
$label =~ s/\(.+\)//g;
$label =~ tr/[A-Z]/[a-z]/;
$label =~ tr/ /-/;
$label =~ tr/\//-/;
$label =~ s/,//g;
$label =~ s/--/-/g;
$label =~ s/-$//g;
$class = "$class-$label";
}
print " \n";
print " $title\n";
if ($parent ne "") {
print " \n";
}
if ($comment ne "") {
print " $comment\n";
}
if ($seealso ne "") {
@seealso = split(/,[ ]*/,$seealso);
foreach $sa (@seealso) {
if ($sa =~ /([A-Z](\.[0-9]+)*\.)([0-9]+)-([0-9]+)/) {
for ($i=$3;$i<=$4;$i++) {
print " \n";
}
} else {
print " \n";
}
}
}
if ($deprecated == 1991) {
print " This classification is no longer used as of January 1991.\n";
}
if ($deprecated == 1998) {
print " This classification is no longer used as of January 1998.\n";
}
print " \n";
}
}
print <
EOF
--8yRt76xTED
Content-Type: text/plain; charset=us-ascii
Content-Description: .signature
Content-Transfer-Encoding: 7bit
--
Nick Gibbins nmg@ecs.soton.ac.uk
IAM (Intelligence, Agents, Multimedia) tel: +44 (0) 23 80592831
Electronics and Computer Science fax: +44 (0) 23 80592865
University of Southampton
--8yRt76xTED--