Issue 11848: Section: Annex A: AADL-like models with MARTE (marte-ftf) Source: THALES (Dr. Madeleine Faugere, madeleine.faugere(at)thalesgroup.com) Nature: Enhancement Severity: Significant Summary: INTRODUCTION (to the following eigth issues) The section “AADL-like models with MARTE” in annex A: “Guidance example for use of MARTE” contains a mapping of UML concepts and stereotypes from MARTE and SysML to AADL metaclasses. The mapping is, in principle, a partial subset that was specified under the following considerations: 1. A UML native concept is used when it is considered expressive enough to represent an AADL concept (e.g., AADL Modes maps to UML State Machines). 2. Else, a MARTE concept is adopted (e.g., MARTE hwBus & hwDevice represents AADL Bus and Device). 3. If neither UML nor MARTE extensions have the corresponding AADL concept, SysML extensions are used (e.g., SysML Block represents AADL System). 4. Otherwise, new stereotypes are proposed in this annex (e.g., subprogram & port-group stereotypes to represents the corresponding AADL concepts). 5. Properties defined in the Predeclared Property Set of the AADL spec. are annotated in a UML Note stereotyped as “properties”. This section also provides some examples illustrating the use of UML (+MARTE+SysML) in order to specify AADL models. Some issues rise from this approach: [MARTE-AADL Issue 1] One general question is the scope of this annex. Either it will keep its “guidance” nature, providing a subset of mapping cases only, or it will provide a more formal mapping covering all AADL concepts and properties. Following a meeting with Peter Feiler (a core AADL author), the goal is to provide a full UML profile for AADL. If the approach turns towards the second option (full support), a more careful exploration of AADL concepts should be done. This means that this annex should guarantee that all the AADL metaclasses are mapped and that, at least, the predeclared AADL property set is supported. The SAE AADL committee supports a full UML profile of AADL. The committee would prefer to have it defined in the context of MARTE rather than a separate UML profile. A draft of a UML profile for AADL exclusively defined in terms of UML exists. This document can be harvested for the MARTE-based profile definition for AADL, e.g., for stereo type names and graphical symbol definitions Resolution: In agreement with Peter Feiler from the SAE, MARTE will provide a full support to the AADL language, meaning that all AADL concepts and properties will be supported by MARTE. Annex A provides "guidelines" explaining and illustrating the use of MARTE for modeling and analysis of AADL applications. AADL-MARTE Concept alignment will be addressed by this issue; AADL pre-declared property set alignment will be addressed by issue #11582 and property language alignment with issue #11583. A proposed way of using MARTE with different abstraction levels is proposed in issue #11851, differencing design, software platform allocation, and hardware platform allocation phases and concepts. In addition to these refinement processes, analysis views providing specific and reusable analysis information are provided. The following table proposes a mapping between AADL and MARTE concepts, without introducing new MARTE concepts (stereotypes) in the annex. Revised Text: Following tables will integrally replace section A.3.1 "MARTE for AADL summary Table". AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition Software component Process MARTE memoryPartition stereotype on UML Classifier NA Represents a protected address space and contains executable code or data. Thread MARTE swSchedulableRessource stereotype on UML Classifier NA Concurrent schedulable unit of sequential execution through source code Thread Group MARTE abstract SwSchedulableResource stereotyped UML classifier composed of swSchedulableResource stereotyped UML classifiers which are not abstract NA Component abstraction for logically organizing thread, data and thread group component within a process Shared Data SwMutualExclusionResource stereotype on UML classifier Marte SwMutualExclusionResource stereotype on UML classifier For analysis purpose, the associated to RealeaseService" and AcquiredServices stereotype attributes will point towards "read" and "write" operations, which could be respectively stereotyped GaAcqStep and GaRelStep for analysis purposes Data access via interface "Resource", "ConcurrencyResource", "ProcessingResource" concepts of GRM depending on the user's precision requirements. Can be refined with SRM equivalent concepts "swConcurrencyResource", etc NA Subprogram UML Operation NA Represents sequentially executable source text Subprogram Calls UML Operation call on sequence diagrams. For software plateform design, can be model as "messageComRessource" "SaStep" Access to a callable method or a server service with a declaration within a subprogram implementation or a thread Server subprogram "entryPoint" stereotype dependency between "SwSchedulable Resource" and called UML Operation NA AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition Execution platform components Processor hwProcessor stereotype on UML Classifier NA Hardware unit responsible for scheduling and executing threads. Memory hwMemory stereotype on UML Classifier NA Abstract representation which is a storage component for data and executable code Bus HwBus stereotype on UML Classifier NA Hardware unit that enable communication among other execution platform components Device hwDevice stereotype on UML Classifier NA Represents entities that interfaces with the external environment of an application system AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition System composition System UML systemModel stereotype NA Represents a composite software, execution platform or system components AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition Features and shared access Port flowPort or msgPort stereotyped UML Port NA Represents a communication interface for the directional exchange of data, event or both between components PortGroup Composite interface stereotyped by both FlowSpecification and BfeatureSpecification stereotypes typing ports stereotyped by MsgPort and FlowPort NA Represents a collection of port group or port Inverse of IsConjugated stereotyped attribute on "FlowPort" and "Msg Port" UML ports Subprogram as Features UML Operation NA Represents sequentially executable source text Subprogram Parameters UML Parameters NA Represents the subprogram parameters SubComponent Access Data or Bus access via specific UML interfaces NA Explicit data or bus access AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition Connections and flows Port Connections UML delegation connectors between Ports and Parts on composite diagrams NA A connection declaration binds a port from a component to another Parameter Connections ObjectFlow on UML activity diagram NA Used when a subprogram output need to be link with an entry point of an other subprogram Access Connections UML connections between UML ports requiring specific data access to data interface NA Access connections designate access to shared data components Flows specifications UML Object Flow between UML Object Pins in an Activity Diagram NA Specifies the detailed description and analysis of an abstract information path throughout a system End-To-End Flows NA MARTE "End2EndFlow" represented in activity diagram to ensure hierarchical flow path representations Specifies a flow that starts within one subcomponent and ends within another. AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition Properties AAD property set MARTE stereotypes and associated attributes and user defined Nfp pstereotyped attributes. MARTE stereotypes and associated attributes and user defined Nfp stereotyped attributes. AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition Operational modes Mode Mode as UML StateMachines; mode specific port connections are described with UML Collaborations. NA Represents a defined configuration of contained components, and connections AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition Operational system System Binding MARTE allocation stereotyped UML Dependency, with attribute "nature" set to "SpatialDistribution" NA Binds software components to appropriate execution platform components (i.e. hardware components) AADL concept MARTE/UML concept for design MARTE/UML concept for analysis AADL definition Component relationship Component extension UML Generalization NA Component implementation UML Realization NA Actions taken: December 21, 2007: received issue February 17, 2010: closed issue Discussion: see ptc/2008-06-05 for revised text End of Annotations:===== m: webmaster@omg.org Date: 21 Dec 2007 04:51:41 -0500 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Madeleine Faugere, Huascar Espinoza, Peter Feiler Company: Thales TRT, CEA LIST, CMU SEI mailFrom: madeleine.faugere@thalesgroup.com Notification: Yes Specification: UML Profile for MARTE Section: Annex A: AADL-like models with MARTE FormalNumber: ptc/07-08-04 Version: Beta 1 RevisionDate: 21/12/07 Page: 345-382 Nature: Enhancement Severity: Significant HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; InfoPath.1) Description INTRODUCTION (to the following eigth issues) The section .AADL-like models with MARTE. in annex A: .Guidance example for use of MARTE. contains a mapping of UML concepts and stereotypes from MARTE and SysML to AADL metaclasses. The mapping is, in principle, a partial subset that was specified under the following considerations: 1. A UML native concept is used when it is considered expressive enough to represent an AADL concept (e.g., AADL Modes maps to UML State Machines). 2. Else, a MARTE concept is adopted (e.g., MARTE hwBus & hwDevice represents AADL Bus and Device). 3. If neither UML nor MARTE extensions have the corresponding AADL concept, SysML extensions are used (e.g., SysML Block represents AADL System). 4. Otherwise, new stereotypes are proposed in this annex (e.g., subprogram & port-group stereotypes to represents the corresponding AADL concepts). 5. Properties defined in the Predeclared Property Set of the AADL spec. are annotated in a UML Note stereotyped as .properties.. This section also provides some examples illustrating the use of UML (+MARTE+SysML) in order to specify AADL models. Some issues rise from this approach: [MARTE-AADL Issue 1] One general question is the scope of this annex. Either it will keep its .guidance. nature, providing a subset of mapping cases only, or it will provide a more formal mapping covering all AADL concepts and properties. Following a meeting with Peter Feiler (a core AADL author), the goal is to provide a full UML profile for AADL. If the approach turns towards the second option (full support), a more careful exploration of AADL concepts should be done. This means that this annex should guarantee that all the AADL metaclasses are mapped and that, at least, the predeclared AADL property set is supported. The SAE AADL committee supports a full UML profile of AADL. The committee would prefer to have it defined in the context of MARTE rather than a separate UML profile. A draft of a UML profile for AADL exclusively defined in terms of UML exists. This document can be harvested for the MARTE-based profile definition for AADL, e.g., for stereo type names and graphical symbol definitions.