Browsable UML for Object Oriented Class Modeling Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: uml/oocm/extracted
Source used for this grammar: Hugo Brunelière, UML For Object Oriented Class Modeling 1.0, UMLForOOClassModeling.ecore, 2005/08/09

Summary

Syntax

VisibilityKind ::=
	[vk_public_vis]::ε
	[vk_private_vis]::ε
	[vk_protected_vis]::ε
ScopeKind ::=
	[sk_instance_level]::ε
	[sk_classifier_level]::ε
MultiplicityType ::=
	[lower]::Integer [upper]::Integer [isOrdered]::Boolean [isUnique]::Boolean
ModelElement ::=
	Feature
ModelElement ::=
	NameSpace
ModelElement ::=
	GeneralizableElement
ModelElement ::=
	[name]::String
Feature ::=
	StructuralFeature
Feature ::=
	BehavioralFeature
Feature ::=
	[ownerScope]::ScopeKind [visibility]::VisibilityKind [owner]::Classifier
NameSpace ::=
	Classifier
NameSpace ::=
	[name]::String
GeneralizableElement ::=
	Classifier
GeneralizableElement ::=
	[isRoot]::Boolean [isLeaf]::Boolean [isAbstract]::Boolean
Classifier ::=
	Class
Classifier ::=
	[feature]::Feature+
Class ::=
	[isActive]::Boolean
StructuralFeature ::=
	Attribute
StructuralFeature ::=
	[multiplicity]::MultiplicityType [isChangeable]::Boolean [targetScope]::ScopeKind
Attribute ::=
	[initialValue]::String
BehavioralFeature ::=
	Operation
BehavioralFeature ::=
	[isQuery]::Boolean
Operation ::=
	[isRoot]::Boolean [isLeaf]::Boolean [isAbstract]::Boolean [specification]::String
Integer ::=
	integer
String ::=
	string
Boolean ::=
	"true"
	"false"

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []