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--