Skip to content

Computer Science

← Back to Domain-Specific Abstractions by Domain

28 domain-specific abstractions whose origin domain is Computer Science.

  • Command–query separation — A design principle requiring each method either to change state as a command or return information as a side-effect-free query, but not both.
  • Computation Tree Logic — A branching-time temporal logic whose formulas pair universal or existential path quantification with next, eventually, always, or until modalities over Kripke structures.
  • Context model — A formal or semi-formal structure for representing, maintaining, and exposing environmental context to a context-aware system.
  • DATR — A declarative node–path–value equation language for compact lexical knowledge bases with default inheritance, override, path extension, and query evaluation.
  • Distributed lock manager — Coordinate named lock ownership and compatible access modes across cluster nodes so shared resources retain mutual-exclusion and recovery guarantees despite concurrency and membership change.
  • Dry Run (Testing) — Traverse an intended command, procedure, or system execution while suppressing or substituting consequential effects, exposing planned actions and precondition failures before committing a live run.
  • False sharing — Diagnose performance loss when independent data accessed by different processors occupy one coherence block, so writes trigger invalidation, transfer, and reload traffic as though the data were logically shared.
  • Formal Language — Treat a precisely delimited set of finite strings over an alphabet as an object independent of any one grammar, recognizer, or interpretation.
  • Formula Calculator — Capture a complete mathematical expression as an editable representation, then parse and evaluate it under declared grammar, precedence, associativity, arity, and numeric-context rules when the user commits the calculation.
  • Fuzzy rule — Represent a graded IF-THEN relation whose linguistic antecedents and consequent are fuzzy sets, then compute a consequent degree or fuzzy output through declared connective, implication, aggregation, and output conventions.
  • HBJ model — Estimate a message-passing parallel algorithm's cost by separating maximum per-processor computation from latency-and-bandwidth communication over regular block permutations.
  • Hoare Logic — A compositional program logic that proves precondition–command–postcondition judgments by rules aligned with program constructs, using assertions and invariants to reduce global correctness to local proof obligations.
  • Homomorphic Secret Sharing — A secret-sharing primitive in which servers locally evaluate an allowed function on input shares so their output shares reconstruct the function value without revealing the inputs.
  • Luby transform code — A rateless fountain-code construction using sparse random bipartite combinations and XOR operations to recover source symbols from slightly more encoded symbols than the source count.
  • Measure (Data Warehouse) — A fact-level or calculated quantity in a dimensional model whose value is summarized within dimension contexts under declared grain, unit, and aggregation semantics.
  • Object graph — A point-in-time graph view whose nodes are runtime objects and whose directed edges are direct or chained object references.
  • Pattern Language (Formal Languages) — The formal language generated from one constants-and-variables pattern by consistently replacing each variable with a nonempty terminal string while preserving every constant.
  • Plaintext — Identify data in the input-to-encryption or output-from-decryption role at a declared cryptographic layer, regardless of human readability, while separating that relative role from cleartext exposure and message encoding.
  • Processor Sharing — An ideal preemptive service discipline that divides a server's instantaneous capacity among all jobs currently present, usually equally or by fixed weights.
  • Prototype-based programming — An object-oriented programming paradigm in which objects inherit behavior directly from reusable prototype objects rather than from classes.
  • Reinforcement learning — Learn a policy for sequential action from evaluative reward generated through agent–environment interaction, balancing exploration, delayed credit, and long-run return.
  • Signedness — A programming-language type property that determines whether an integer representation and its operations include negative values or instead use a nonnegative modular range, affecting conversions, comparison, overflow, and interfaces.
  • Specification language — A formal language used to state what a system must do at a higher level than executable implementation code.
  • SPQR Tree — A canonical tree representation of a biconnected graph's decomposition at separation pairs, whose S, P, Q, and R skeletons expose series, parallel, edge, and rigid triconnected structure and reconstruct the graph through paired virtual edges.
  • Temporal logic of actions — Specify state-machine behaviors with predicates over states, actions over current and next states, temporal operators, and explicit stuttering invariance for concurrent-system reasoning.
  • Tree Sort — A comparison-sorting method that inserts items into a search tree and emits them by in-order traversal, making output order depend on the tree invariant and runtime depend on tree height.
  • Variable-Length Encoding — Assign source symbols codewords of unequal lengths under an explicit decodability rule, trading average length against parsing complexity, error propagation, synchronization, and source-model mismatch.
  • Virtual Desktop — Expand a graphical workspace beyond one physical screen by retaining windows in multiple switchable contexts or in a larger logical surface and exposing only the selected viewport at a time.