[ANN] XML Metadata Interchange (XMI) for Pharo

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] XML Metadata Interchange (XMI) for Pharo

Torsten Bergmann
Hi,

if you work with UML, modeling tools or model data exchange often you might know XMI -
the XML Metadata Interchange format.

I wrote a little package that makes it easier to work and browse data based on this
format within Pharo.

For instance you can open an XMI object either from a given stream
or URL:

  (XMIFile fromURL: 'http://www.omg.org/spec/UML/20131001/UML.xmi') inspect

You can also open a file

  XMIFile importFile

Code is available on https://github.com/astares/Pharo-XMI

The package includes a small GT extension allowing you to walk and dive through the XMI
structure (see attached screenshot) and as the XMI nodes are unified it is easy to
code some code generators or transformers in Pharo afterwards.

For instance I used this package for a simple Pharo code generator based on Eclipse EMF models/diagrams.

Within the code you will find some examples to browse through prominent XMI models like:

 - UML Spec
   => (XMIFile fromURL: 'http://www.omg.org/spec/UML/20131001/UML.xmi') inspect

 - VISUAL PARADIGM
   => (XMIFile fromURL: 'https://raw.githubusercontent.com/staruml/XMI/master/unittest-files/VP_XMI21.xmi') inspect
 
 - ENTERPRISE ARCHITECT
   => (XMIFile fromURL: 'https://raw.githubusercontent.com/staruml/XMI/master/unittest-files/EA_XMI21.xmi') inspect
 
 - ARCHIMATE
   => (XMIFile fromURL: 'https://www.reflektis.com/repos/archimate-3.0.xmi) inspect

Once the inspector opens you have to select the "rootNode" and then the "Hierarchy" tab.

In Pharo 6 you can load "XMI" right from catalog. Hope the package is useful for others too.

Bye
T.

xmi_gt.png (123K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] XML Metadata Interchange (XMI) for Pharo

stepharong
Hi torsten

do you know the work of peter to generate classes out of XMI and populate  
models?
Because it complements your approach.

stef


On Wed, 01 Mar 2017 22:26:05 +0100, Torsten Bergmann <[hidden email]>  
wrote:

> Hi,
> if you work with UML, modeling tools or model data exchange often you  
> might know XMI -
> the XML Metadata Interchange format.
> I wrote a little package that makes it easier to work and browse data  
> based on this
> format within Pharo.
> For instance you can open an XMI object either from a given stream
> or URL:
>  (XMIFile fromURL: 'http://www.omg.org/spec/UML/20131001/UML.xmi')  
> inspect
> You can also open a file
>  XMIFile importFile
> Code is available on https://github.com/astares/Pharo-XMI
> The package includes a small GT extension allowing you to walk and dive  
> through the XMI
> structure (see attached screenshot) and as the XMI nodes are unified it  
> is easy to
> code some code generators or transformers in Pharo afterwards.
> For instance I used this package for a simple Pharo code generator based  
> on Eclipse EMF models/diagrams.
> Within the code you will find some examples to browse through prominent  
> XMI models like:
> - UML Spec
>    => (XMIFile fromURL: 'http://www.omg.org/spec/UML/20131001/UML.xmi')  
> inspect
> - VISUAL PARADIGM
>    => (XMIFile fromURL:  
> 'https://raw.githubusercontent.com/staruml/XMI/master/unittest-files/VP_XMI21.xmi')  
> inspect
> - ENTERPRISE ARCHITECT
>    => (XMIFile fromURL:  
> 'https://raw.githubusercontent.com/staruml/XMI/master/unittest-files/EA_XMI21.xmi')  
> inspect
> - ARCHIMATE
>    => (XMIFile fromURL:  
> 'https://www.reflektis.com/repos/archimate-3.0.xmi) inspect
> Once the inspector opens you have to select the "rootNode" and then the  
> "Hierarchy" tab.
> In Pharo 6 you can load "XMI" right from catalog. Hope the package is  
> useful for others too.
> Bye
> T.


--
Using Opera's mail client: http://www.opera.com/mail/

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] XML Metadata Interchange (XMI) for Pharo

Peter Uhnak
We spoke briefly on Tuesday. I need to take a look (also at his EMF generator) and see how the tools could benefit from each other. I think it could simplify some of my code or streamline the use of it.

(Also I have about a billion code generators at the moment with small differences... so I will merge that at some point too...)

Peter


On Wed, Mar 01, 2017 at 10:29:38PM +0100, stepharong wrote:

> Hi torsten
>
> do you know the work of peter to generate classes out of XMI and
> populate models?
> Because it complements your approach.
>
> stef
>
>
> On Wed, 01 Mar 2017 22:26:05 +0100, Torsten Bergmann
> <[hidden email]> wrote:
>
> >Hi,
> >if you work with UML, modeling tools or model data exchange often
> >you might know XMI -
> >the XML Metadata Interchange format.
> >I wrote a little package that makes it easier to work and browse
> >data based on this
> >format within Pharo.
> >For instance you can open an XMI object either from a given stream
> >or URL:
> > (XMIFile fromURL: 'http://www.omg.org/spec/UML/20131001/UML.xmi')
> >inspect
> >You can also open a file
> > XMIFile importFile
> >Code is available on https://github.com/astares/Pharo-XMI
> >The package includes a small GT extension allowing you to walk and
> >dive through the XMI
> >structure (see attached screenshot) and as the XMI nodes are
> >unified it is easy to
> >code some code generators or transformers in Pharo afterwards.
> >For instance I used this package for a simple Pharo code generator
> >based on Eclipse EMF models/diagrams.
> >Within the code you will find some examples to browse through
> >prominent XMI models like:
> >- UML Spec
> >   => (XMIFile fromURL:
> >'http://www.omg.org/spec/UML/20131001/UML.xmi') inspect
> >- VISUAL PARADIGM
> >   => (XMIFile fromURL: 'https://raw.githubusercontent.com/staruml/XMI/master/unittest-files/VP_XMI21.xmi')
> >inspect
> >- ENTERPRISE ARCHITECT
> >   => (XMIFile fromURL: 'https://raw.githubusercontent.com/staruml/XMI/master/unittest-files/EA_XMI21.xmi')
> >inspect
> >- ARCHIMATE
> >   => (XMIFile fromURL:
> >'https://www.reflektis.com/repos/archimate-3.0.xmi) inspect
> >Once the inspector opens you have to select the "rootNode" and
> >then the "Hierarchy" tab.
> >In Pharo 6 you can load "XMI" right from catalog. Hope the package
> >is useful for others too.
> >Bye
> >T.
>
>
> --
> Using Opera's mail client: http://www.opera.com/mail/
>

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [ANN] XML Metadata Interchange (XMI) for Pharo

stepharong
On Thu, 02 Mar 2017 10:02:04 +0100, Peter Uhnak <[hidden email]> wrote:

> We spoke briefly on Tuesday. I need to take a look (also at his EMF  
> generator) and see how the tools could benefit from each other. I think  
> it could simplify some of my code or streamline the use of it.

super cool :)

>
> (Also I have about a billion code generators at the moment with small  
> differences... so I will merge that at some point too...)
>
> Peter
>
>
> On Wed, Mar 01, 2017 at 10:29:38PM +0100, stepharong wrote:
>> Hi torsten
>>
>> do you know the work of peter to generate classes out of XMI and
>> populate models?
>> Because it complements your approach.
>>
>> stef
>>
>>
>> On Wed, 01 Mar 2017 22:26:05 +0100, Torsten Bergmann
>> <[hidden email]> wrote:
>>
>> >Hi,
>> >if you work with UML, modeling tools or model data exchange often
>> >you might know XMI -
>> >the XML Metadata Interchange format.
>> >I wrote a little package that makes it easier to work and browse
>> >data based on this
>> >format within Pharo.
>> >For instance you can open an XMI object either from a given stream
>> >or URL:
>> > (XMIFile fromURL: 'http://www.omg.org/spec/UML/20131001/UML.xmi')
>> >inspect
>> >You can also open a file
>> > XMIFile importFile
>> >Code is available on https://github.com/astares/Pharo-XMI
>> >The package includes a small GT extension allowing you to walk and
>> >dive through the XMI
>> >structure (see attached screenshot) and as the XMI nodes are
>> >unified it is easy to
>> >code some code generators or transformers in Pharo afterwards.
>> >For instance I used this package for a simple Pharo code generator
>> >based on Eclipse EMF models/diagrams.
>> >Within the code you will find some examples to browse through
>> >prominent XMI models like:
>> >- UML Spec
>> >   => (XMIFile fromURL:
>> >'http://www.omg.org/spec/UML/20131001/UML.xmi') inspect
>> >- VISUAL PARADIGM
>> >   => (XMIFile fromURL:  
>> 'https://raw.githubusercontent.com/staruml/XMI/master/unittest-files/VP_XMI21.xmi')
>> >inspect
>> >- ENTERPRISE ARCHITECT
>> >   => (XMIFile fromURL:  
>> 'https://raw.githubusercontent.com/staruml/XMI/master/unittest-files/EA_XMI21.xmi')
>> >inspect
>> >- ARCHIMATE
>> >   => (XMIFile fromURL:
>> >'https://www.reflektis.com/repos/archimate-3.0.xmi) inspect
>> >Once the inspector opens you have to select the "rootNode" and
>> >then the "Hierarchy" tab.
>> >In Pharo 6 you can load "XMI" right from catalog. Hope the package
>> >is useful for others too.
>> >Bye
>> >T.
>>
>>
>> --
>> Using Opera's mail client: http://www.opera.com/mail/
>>
>


--
Using Opera's mail client: http://www.opera.com/mail/