Interface VariabilityElement

All Superinterfaces:
Element, org.eclipse.emf.ecore.EObject, MethodElement, NamedElement, org.eclipse.emf.common.notify.Notifier, PackageableElement
All Known Subinterfaces:
Activity, Artifact, CapabilityPattern, Checklist, Concept, ContentCategory, ContentElement, CustomCategory, Deliverable, DeliveryProcess, Discipline, DisciplineGrouping, Domain, EstimationConsiderations, Example, Guidance, Guideline, Iteration, Kind, Outcome, Phase, Practice, Process, ProcessPlanningTemplate, Report, ReusableAsset, Roadmap, Role, RoleSet, RoleSetGrouping, Section, Step, SupportingMaterial, Task, Template, TermDefinition, Tool, ToolMentor, Whitepaper, WorkProduct, WorkProductType
All Known Implementing Classes:
ActivityImpl, ArtifactImpl, CapabilityPatternImpl, ChecklistImpl, ConceptImpl, ContentCategoryImpl, ContentElementImpl, CustomCategoryImpl, DeliverableImpl, DeliveryProcessImpl, DisciplineGroupingImpl, DisciplineImpl, DomainImpl, EstimationConsiderationsImpl, ExampleImpl, GuidanceImpl, GuidelineImpl, IterationImpl, KindImpl, OutcomeImpl, PhaseImpl, PracticeImpl, ProcessImpl, ProcessPlanningTemplateImpl, ReportImpl, ReusableAssetImpl, RoadmapImpl, RoleImpl, RoleSetGroupingImpl, RoleSetImpl, SectionImpl, StepImpl, SupportingMaterialImpl, TaskImpl, TemplateImpl, TermDefinitionImpl, ToolImpl, ToolMentorImpl, VariabilityElementImpl, WhitepaperImpl, WorkProductImpl, WorkProductTypeImpl

public interface VariabilityElement
extends MethodElement
A representation of the model object 'Variability Element'. Variability Element is an abstract class derived from Method Element that provides new capabilities for content variation and extension to Content Elements or any other Method Element that derives from it. It has been placed in-between the classes Method Element and Content Element in the overall UMA taxonomy of classes using the UML 2.0 package merge mechanism. The association Variability Specialization shall only be instantiated between two subclasses of Variability Element of the same type. The element on varaibilitySpecialElement side of the relationship defines a value for the attribute variabilityType defining the nature of the relationship using a literal from the enumeration Variability Type. Variability Element of the meta-model package Method Plugins adds the capabilities of variation and extension to Method Elements that derive from it. By default all Content Elements such as Role, Task, Guidance Types, or Activities are defined to be Variability Elements. Variability and extension provides unique mechanisms for customizing method content without actually directly modifying the original content, but by just be able to describe with separate objects the differences (additions, changes, omissions) relative to the original. This plug-in concept allows users to factor their method content and processes in interrelated units and even to architect method content and processes in layers that extend each other with new capabilities. The resulting method and process design can be dynamically combined and applied on demand using the interpretation rules defined for Variability Element Specializations assembling to process practitioners the most accurate method and process descriptions possible. It also allows process practitioners to extends and tailor method content and processes they do not own and to easily upgrade to newer versions by simply reapply their personal changes to these upgrades. Variability Element defines two types of variability and one type of extension which are formally defined for the enumeration Variability Type.

The following features are supported:

See Also:
UmaPackage.getVariabilityElement()