You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jean-Sebastien Delfino <js...@apache.org> on 2006/07/20 11:59:20 UTC

[C++] Assembly class diagram

I checked in a first attempt at a class diagram representing the 
recursive assembly model:
http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/sebastien/cpp/diagrams/service.jpg

It's probably not all correct, it's just a very first cut to initiate a 
discussion on how people view the new recursive assembly.
Any thoughts or questions?

-- 
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: [C++] Assembly class diagram

Posted by Andrew Borley <aj...@gmail.com>.
On 7/21/06, Jean-Sebastien Delfino <js...@apache.org> wrote:
>
> Pete Robbins wrote:
> > Looks interesting. One quick comment: what is "Object" in C++ terms? ;-)
> >
>
> Good question.
>
> I was trying to keep the class diagram language-independent with types
> like String, QName, NCName, AnyURI, and Object, and using Object for
> Component property values.
>
> If I understand the SCA spec correctly, the value of a component
> property can be a primitive type, a string, an SDO DataObject or another
> data-binding-specific representation of a complex type. In most
> programming languages primitive types are not Objects, so my usage of
> Object here was not quite correct. I'll define an Any type to represent
> these property values in the class diagram (actually corresponding to
> the xsd:any used by the spec to define these types).
>
> In the C++ runtime, will that translate to a void *?


That's what I thought when Pete posed the question, but this still leaves
the issue of how to deal with the pointer when it needs to be used somewhere
- there's no way of knowing how to deal with/get the value because it isn't
typed in any way.
One way to get round this would be to have a "typed thing" struct or similar
which would consist of a void * pointer and an enum to define the type, but
then, we're starting to head into SDO territory here.. ;-)

Andy

Re: [C++] Assembly class diagram

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Pete Robbins wrote:
> Looks interesting. One quick comment: what is "Object" in C++ terms? ;-)
>

Good question.

I was trying to keep the class diagram language-independent with types 
like String, QName, NCName, AnyURI, and Object, and using Object for 
Component property values.

If I understand the SCA spec correctly, the value of a component 
property can be a primitive type, a string, an SDO DataObject or another 
data-binding-specific representation of a complex type. In most 
programming languages primitive types are not Objects, so my usage of 
Object here was not quite correct. I'll define an Any type to represent 
these property values in the class diagram (actually corresponding to 
the xsd:any used by the spec to define these types).

In the C++ runtime, will that translate to a void *?

-- 
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: [C++] Assembly class diagram

Posted by Pete Robbins <ro...@googlemail.com>.
Looks interesting. One quick comment: what is "Object" in C++ terms? ;-)

On 20/07/06, Jean-Sebastien Delfino <js...@apache.org> wrote:
>
> I checked in a first attempt at a class diagram representing the
> recursive assembly model:
>
> http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/sebastien/cpp/diagrams/service.jpg
>
> It's probably not all correct, it's just a very first cut to initiate a
> discussion on how people view the new recursive assembly.
> Any thoughts or questions?
>
> --
> Jean-Sebastien
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>


-- 
Pete