Issue 18946: content model (ifml-ftf) Source: WebRatio Inc (Dr. Marco Brambilla, marco.brambilla(at)webratio.com) Nature: Revision Severity: Minor Summary: The supported content model is only UML. This should be generalized to any content model, and UML should be left as an example Resolution: Added classes to the metamodel: FeatureConcept and DomainConcept, UMLStructuralFeature and UMLDomainConcept, BehavioralFeatureConcept and BehaviorConcept, UMLBehavioralFeature and UMLBehavior. Content can now be referenced through the FeatureConcept and DomainConcept classes. Behavior can now be referenced through the BehavioralFeatureConcept and BehaviorConcept classes. UML becomes one specific case of binding. Revised Text: Figure 12 has been replaced with new figure: Descriptive text in Clause 8.1.8 has been fixed to cover the description of the new metaclasses as follows: 8.1.8Content Binding ViewComponents may retrieve content by means of the ContentBinding. ContentBinding represents any source of content. ContentBinding has as an optional attribute the URI of the resource from which the content may be obtained. ContentBinding is specialized in two concepts, DataBinding and DynamicBehavior. A DataBinding references a DomainConcept (for instance, a Classifier in UML) that may represent an object, an XML file, a table in a database etc. A DataBinding is associated with a ConditionalExpression, which determines the specific content to be obtained from the content source. A DynamicBehavior represents a content access or business logic such as a service or method that returns a result after an invocation, as represented by a BehavioralFeature or Behavior in UML. A DataBinding contains VisualizationAttributes used by ViewComponents to determine the features accessed from the DataBinding that may be shown to the user, such as a data base column or an XML element or attribute, as represented using UML StructuralFeatures. The following sub-clauses have been added in Clause 8.3: 8.3.5Class BehavioralConcept Abstract: No Generalization: • NamedElement Description BehaviorConcept represents the generic Behavior (for instance, a UML dynamic diagram) which can be referenced as DynamicBehavior in a ContentBinding. Association Ends • dynamicBehavior [0..1]: DynamicBehavior – Placeholder in a ContentBinding of the Behavior to be executed by the Action or ViewComponent. 8.3.6Class BehavioralFeatureConcept Abstract: No Generalization: • NamedElement Description BehavioralFeatureConcept represents the generic BehavioralFeature of a DomainModel element (for instance, a Class method) which can be referenced as DynamicBehavior in a ContentBinding. Association Ends • dynamicBehavior: DynamicBehavior – Placeholder in a ContentBinding of the BehavioralFeature to be executed by the Action or ViewComponent. 8.3.15Class DynamicBehavior Abstract: No Generalization: • ContentBinding Description DynamicBehavior represents the binding of the system with a service or operation, which may be invoked in order to carry out business logic or return content. Constraints • eitherBehavioralFeatureOrBehavior self.behavioralFeature -> notEmpty() xor self.behavior -> notEmpty() Association Ends • behavioralFeatureConcept [0..1]: behavioralFeatureConcept - BehavioralFeatureConcept representing a procedure, method, function etc, that may be invoked by a ViewComponent to carry out business logic or obtain content. • behaviorConcept [0..1]: BehaviorConcept - Representing a procedure, method, function etc, that may be invoked by a ViewComponent to carry out business logic or obtain content. 8.3.12Class DataBinding Generalization: • ContentBinding Description DataBinding represents the binding of the system with an instance of an element of the DomainModel such as a table, an object, an XML file etc. Association Ends • domainConcept [1]: domainConcept – A concept specifying the data structure to which the ViewComponent is bound, such as a UML class, a table in a relational data base or an XML file. • conditionalExpression [0..*]: ConditionalExpression - ConditionalExpressions that determine how to access the content. • visualizationAttribute [0..*]: VisualizationAttribute - VisualizationAttributes that determine the StructuralFeatures that should be shown to the user, such as a data base column or an XML element or attribute. • dataContextVariable [0..*]: DataContextVariable – reference to the ContextVariable that makes use of the DataBinding. 8.3.16Class DomainConcept Abstract: No Generalization: • NamedElement Description The DomainConcept represents a generic concept, class, entity of the DomainModel, which can be referenced in a DataBinding. Its purpose is to allow extensibility in terms of concepts from different modeling languages representing the DomainModel. Association Ends • dataBinding [0..1]: DataBinding - Reference to the DataBinding in a ViewComponent that uses the current DomainConcept. 8.3.42Class UMLBehavior Abstract: No Generalization: • BehaviorConcept Description UMLBehavior represents a Behavior specified in UML (that is, a UML dynamic diagram) which can be referenced as DynamicBehavior in a ContentBinding. Association Ends • behavior [0..1]: UML::Behavior – UML Behavior to be executed by the Action or ViewComponent. 8.3.43Class UMLBehavioralFeature Abstract: No Generalization: • BehavioralFeatureConcept Description UMLBehavioralFeature represents a BehavioralFeature specified in UML (typically, a UML method in a Class) which can be referenced as DynamicBehavior in a ContentBinding. Association Ends • behavioralFeature [0..1]: UML::BehavioralFeature – UML BehavioralFeature to be executed by the Action or ViewComponent. 8.3.44Class UMLStructuralFeature Abstract: No Generalization: • FeatureConcept Description The UMLStructuralFeature is a specific FeatureConcept referring to a UML StructuralFeature. Association Ends • structuralFeature [0..1]: UML::StructuralFeature - Reference to the UML element of the DomainModel. 8.3.45Class UMLDomainConcept Abstract: No Generalization: • DomainConcept Description The UMLDomainConcept is a specific DomainConcept referring to a UML Classifier. Association Ends • classifier [0..1]: UML::Classifier - Reference to the UML Classifier of the DomainModel that will be connected to a ViewElement through a DataBinding. Actions taken: September 17, 2013: received issue July 15, 2014: closed issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 17 Sep 2013 08:32:40 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Marco Brambilla Employer: WebRatio mailFrom: marco.brambilla@webratio.com Terms_Agreement: I agree Specification: IFML Section: - FormalNumber: ptc/2013-03-08 Version: 1.0 - Beta 1 Doc_Year: 2013 Doc_Month: March Doc_Day: 20 Page: - Title: content model Nature: Revision Severity: Minor CODE: 3TMw8 B1: Report Issue Remote Name: nat1.como.polimi.it Remote User: HTTP User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0 Time: 08:32 AM Description: The supported content model is only UML. This should be generalized to any content model, and UML should be left as an example