Software Modeling & Program Architecture¶
← Back to Domain-Specific Families
Abstractions about representing software and processes through models, diagrams, languages, components, states, and transformations. They span architectural views, data and control flow, metamodeling, modularity, programming formalisms, identifiers, and tool-supported system development.
45 abstractions in this family — domain-specific abstractions that sit near one another in structural-signature space (k-means over structural-signature embeddings). Each is shown with its short description.
- 4+1 architectural view model — A software-architecture description framework organizing one system into logical, development, process and physical views tied together by representative scenarios.
- Abstract state machine — A formal operational model in which each state is an arbitrary mathematical structure and guarded updates define discrete state transitions.
- Actor (UML) — A modeled role played by an external entity while interacting with the subject of a UML use-case model.
- API management — The governed lifecycle of publishing, securing, mediating, documenting, observing, versioning, and retiring application-programming interfaces for providers and consumers.
- Architecture astronaut — A software-design anti-pattern in which an architect pursues increasingly abstract, universal frameworks while losing contact with concrete requirements, implementation constraints, users and executable feedback.
- Artifact-centric business process model — A business-process model organized around the evolving lifecycle and data state of key business entities rather than a single prescribed activity flow.
- Business Process Modeling Language — A deprecated XML-based language for specifying executable business-process definitions, control flow, data and transactional behavior.
- Code wheel — A physical challenge-response copy-protection device that aligns concentric printed layers to reveal a requested lookup value.
- Common Component Architecture — A component-interface standard for high-performance scientific computing that connected language-neutral components—including Fortran—across heterogeneous parallel machines through SIDL-defined ports and framework services.
- Component Object Model — Microsoft's binary component architecture in which language-neutral objects expose versioned interfaces, manage identity and lifetime, and interact across apartments, processes or machines.
- Composite structure diagram — A UML diagram showing a classifier’s internal parts, ports, connectors and runtime collaborations.
- Control-flow diagram — A diagram that represents operations or activities and the conditional, repetitive, and sequential control paths connecting them.
- Data-flow diagram — A structured-analysis diagram representing how data moves among external entities, processes and stores within a system.
- Decision table — A tabular rule representation enumerating combinations of conditions and the actions prescribed for each combination.
- Design predicates — A software-integration testing model that classifies inter-unit call relationships and assigns complexity increments used to bound independent integration paths.
- EXPRESS (data modeling language) — An ISO-standard formal language for specifying product-data entity types, attributes, relationships, constraints and derived rules within STEP information models.
- FOSD program cubes — An n-dimensional feature-oriented representation whose axes encode independent variability dimensions and whose cells or transformations compose into members of a software product line.
- Function point — A standardized unit estimating software functional size from user-visible inputs, outputs, inquiries, data groups and interfaces.
- Grammar-oriented programming — A software-development approach that makes a domain grammar the primary executable model for a domain-specific language and its processing architecture.
- IDEF3 — A scenario-driven process-description method that captures activity sequences and object-state transitions from domain experts.
- Identity map pattern — A unit-of-work cache that guarantees one in-memory object instance per persistent database identity within a declared context.
- Internet-speed development — A late-1990s software-development method combining staged planning with iterative feature work, frequent integration and daily builds to shorten product cycles.
- Metamodeling — The construction and use of a model whose subject matter is a class of models, specifying their admissible elements, relations, constraints, semantics, and conformance rules.
- Method stub — A deliberately incomplete method implementation that preserves a callable interface and supplies placeholder behavior until the real implementation exists.
- Model transformation language — A specialized programming language for specifying mappings that create, update or synchronize models conforming to declared metamodels.
- Modular programming — A programming paradigm that decomposes software into cohesive units with explicit interfaces and limited dependence on one another.
- Object-modeling technique — An early object-oriented software-analysis and design method combining object, dynamic, and functional models across development stages.
- OpenFX (API) — An open host-plug-in interface standard for portable two-dimensional image effects and compositing modules, defining discovery, instances, parameters, images, rendering actions, threading, and host capability negotiation.
- Operational transformation — A concurrency-control technique that transforms editing operations against concurrent operations so replicas converge while preserving user intentions.
- Oracle unified method — Oracle's tailorable, iterative project-delivery methodology combining Unified Process concepts, business-process and use-case modeling, phase gates, tasks and reusable work-product templates.
- PEPA — A stochastic process algebra whose exponentially timed activities compose into finite-state continuous-time Markov models of computer and communication systems.
- Process Specification Language — The ISO 18629 formal ontology and interchange language for representing activities, occurrence, ordering and resources so heterogeneous process software can exchange meaning.
- Process-data diagram — A modeling diagram that places a process structure beside the data or deliverable structure it creates, linking activities directly to their outputs.
- Production Rule Representation — An Object Management Group metamodel for representing executable production rules, rule sets and forward-chaining semantics in a vendor-neutral UML-compatible form.
- Programming tool — Software whose primary functional role is to help create, inspect, transform, test, package or maintain other software.
- SED-ML — A machine-readable exchange format for specifying reproducible simulation experiments independently of the referenced computational models.
- Service autonomy principle — A service-oriented design principle that gives each service maximal practical control over its logic, runtime resources, data, deployment, and change cycle.
- SoftWare Hash IDentifier — A standardized intrinsic persistent identifier that names software source-code objects through their type and cryptographic content hash, with optional lineage and path qualifiers.
- Stereotype (UML) — A UML profile mechanism that specializes an existing metaclass with domain-specific semantics, tagged values and notation.
- Structured analysis — A systems-analysis method modeling required data transformations and control responses through hierarchical data-flow and related structured diagrams.
- Transformation language — A formal computer language specialized for specifying rule-governed transformations from source texts, trees, graphs or models into modified or differently represented outputs.
- Unidirectional data flow — A software-state architecture in which events trigger state changes in one direction and views derive from the resulting immutable or controlled state rather than mutating it bidirectionally.
- UXF — An XML-based interchange format for serializing UML diagrams so models can move among otherwise independent diagramming tools.
- View model — An architecture-description framework that defines a coherent set of viewpoints for representing one system to different stakeholder concerns.
- Virtual finite-state machine — An executable software specification that models a control system through named input conditions, virtual states, transitions and output actions.