blanketglossary

Graph rewriting

Definition

In computer science, graph transformation, or graph rewriting, concerns the technique of creating a new graph out of an original graph algorithmically. It has numerous applications, ranging from software engineering to layout algorithms and picture generation.

Related concepts

Abductive logic programmingAbstract rewritingAction languageActor modelAgent-oriented programmingAlgebraic modeling languageAnonymous functionAnswer set programmingApplicative programming languageArray programmingAspect-oriented programmingAttribute-oriented programmingAttributed graph grammarAutomata-based programmingAutomated verificationAutomatic mutual exclusionAutomatic programmingBayesian program synthesisBlock (programming)C++C Sharp (programming language)Category theoryChoreographic programmingClass-based programmingClean programming languageCommand languageComparison of functional programming languagesComparison of multi-paradigm programming languagesComparison of programming languagesComparison of programming languages (object-oriented programming)Component-based software engineeringComputer scienceConcatenative programming languageConcurrent computingConcurrent constraint logic programmingConcurrent logic programmingConcurrent object-oriented programmingConstraint logic programmingConstraint programmingCritical pair (logic)Data-driven programmingData-oriented designDatabase theoryDataflow programmingDeclarative programmingDependency grammarDependent typeDesign by contractDifferentiable programmingDomain-specific languageDouble-pushout approachDouble pushout graph rewritingDynamic programming languageEclipse Modeling FrameworkEnd-user developmentEvent-driven programmingExpression-oriented programming languageExtensible programmingFeature-oriented programmingFilter (software)Flow-based programmingFormal grammarFormal languageFormal verificationFunction-level programmingFunctional logic programmingFunctional programmingFunctional reactive programmingGReATGeneralized algebraic data typeGeneric programmingGrGenGrammar-oriented programmingGraph (discrete mathematics)Graph DatabaseGraph homomorphismGraph matchingGraph theoryGrzegorz RozenbergHans-Jörg KreowskiHartmut EhrigHaskell (programming language)Higher-order programmingHomoiconicityHygienic macroHypergraphImmutable objectImperative programmingInductive logic programmingInductive programmingInjectiveIntegrated development environmentInteraction netInteractive programmingInterface description languageInvariant-based programmingJackson structured programmingJava (programming language)Labeled graphLabeled multigraphLanguage-oriented programmingLayout algorithmLinear graph grammarLink grammarList comprehensionList of object-oriented programming languagesList of programming languagesList of programming languages by typeLiterate programmingLogicLogic programmingLow-code development platformMacro (computer science)MacroprogrammingMetalinguistic abstractionMetaprogrammingModel-driven architectureModel checkingModel transformationModeling languageModular programmingMonad (functional programming)MorphismMulti-stage programmingMultitier programmingNatural language programmingNested functionNon-English-based programming languagesNon-structured programmingNondeterministic programmingObject-based languageObject-oriented programmingOntology languageOpenCogOperational semanticsOrganic computingPage description languageParallel computingParallel programming modelPartial applicationPartitioned global address spacePattern matchingPersistent programming languagePipeline (software)Port graph grammarProbabilistic logic programmingProbabilistic programmingProcedural programmingProcess-oriented programmingProduction system (computer science)Program optimizationProgram synthesisProgramming by demonstrationProgramming by exampleProgramming in the large and programming in the smallProgramming paradigmPrototype-based programmingPurely functional programmingPushout (category theory)Quantum programmingQuery languageReactive programmingRecursion (computer science)Reflective programmingRelativistic programmingRewritingRole-oriented programmingScientific programming languageScripting languageSelf-modifying codeSeparation of concernsService-oriented programmingSet theoretic programmingShape grammarSignals and slotsSimulation languageSingle-pushout approachSingle pushout graph rewritingSoftware constructionSoftware engineeringSpacecraft command languageStack-oriented programmingStory-driven modelingStream processingStrict programming languageStructured concurrencyStructured programmingSubgraph isomorphism problemSubject-oriented programmingSymbolic programmingSynchronous programming languageSystem programming languageTacit programmingTactile programming languageTemplate metaprogrammingTemplate processorTerm graphTotal functional programmingTransformation languageUniform function call syntaxUp to isomorphismVDM VerlagVIATRAValue-level programmingVibe codingVisual programming languageXML

8 concepts already in your glossary