[aadl]: Osate2 / AADL private packages
Arne Haber
haber at se-rwth.de
Tue Mar 24 13:00:13 EDT 2015
2015-03-24 14:29 GMT+01:00 Peter Feiler <phf at sei.cmu.edu>:
> Classifiers in the private part of a package cannot be used in the
> public part as classifiers of a component implementation subcomponent.
>
Why not?
> Instead you define the component implementation in both the public and
> the private part of the package.
>
> In the public part you specify the fact that it exists as a variant of the
> component type, possibly with properties specific to that variant. You do
> not include the subcomponent declarations (internal blue print).
>
>
>
> In the private part of the package you repeat the component implementation
> declaration. It inherits the information from the public part and you add
> the “blue print” part, i.e., subcomponents and connections.
>
>
>
My intention was to define a public component type + implementation which
can be used within other packages. The component implementation is given by
subcomponents which instantiate component types/implementations that are
defined in the private part of the package. In this way, these private
types/implementations cannot be instantiated in another package.
If I understand you correctly, I am not able to use the private component
implementation with the added "blue print" parts from another package, am I?
Best regards
Arne
> Peter
>
>
>
> *From:* sae-aadl-users-bounces+phf=sei.cmu.edu at lists.sei.cmu.edu [mailto:
> sae-aadl-users-bounces+phf=sei.cmu.edu at lists.sei.cmu.edu] *On Behalf Of *Arne
> Haber
> *Sent:* Tuesday, March 24, 2015 3:33 AM
> *To:* sae-aadl-users at lists.sei.cmu.edu
> *Subject:* [aadl]: Osate2 / AADL private packages
>
>
>
> Hi all,
>
> I have a question regarding private packages in AADL resp. Osate2.
>
> According to [FGH06], are "declarations in the private segment
> [...] visible only within the package". Thus, I assume, that component
> types and implementations which are declared within the private segment of
> the package, can be instantiated as subcomponents in a system component
> implementation in the public segment. I modeled the following example in
> Osate2:
>
>
> package innerComponents
>
> public
> system OuterComp
> end OuterComp;
>
> system implementation OuterComp.OuterCompImpl
> subcomponents
> innerC: abstract InnerComp;
> end OuterComp.OuterCompImpl;
>
> private
>
> abstract InnerComp
> end InnerComp;
>
> end innerComponents;
>
> However, I get the following error:
> "Couldn't resolve reference to AbstractSubcomponentType 'InnerComp'."
>
> Is this a) the expected behavior of private packages, or is it b) a bug in
> Osate2?
>
> If a), what is the purpose of private packages if I cannot use the private
> declarations anywhere except in the private segment?
>
> Best regards
>
> Arne Haber
>
>
>
> [FGH06] Peter Feiler, David Gluch, and John Hudak. The Architecture
> Analysis & Design
> Language (AADL): An Introduction. Technical Report Technical Note CMU/SEI-
> 2006-TN-011, Software Engineering Institute, Carnegie Mellon University,
> Pitts-
> burgh, Pennsylvania, February 2006.
>
> --
>
> -----------------------------------------------------------------
> Dipl.-Wirt.-Inf. Arne Haber | Software Engineering
> Lehrstuhl für Software Engineering | RWTH Aachen University
> Ahornstr. 55, 52074 Aachen, Germany | http://www.se-rwth.de
> Phone ++49 241 80-21308 / Fax -22218 |
>
--
-----------------------------------------------------------------
Dipl.-Wirt.-Inf. Arne Haber | Software Engineering
Lehrstuhl für Software Engineering | RWTH Aachen University
Ahornstr. 55, 52074 Aachen, Germany | http://www.se-rwth.de
Phone ++49 241 80-21308 / Fax -22218 |
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the Sae-aadl-users
mailing list