Site

RW - Navigation

RW - Recent

Last 10 entries [comments]:

Forums

Last 10 posts [threads/views]:

Wiki

Last 10 pages updated:

There are 472 wiki pages in total.



RSS logoRSS Feed
 

The Residual World::Tag = 'Trak'

Entries that have been tagged with 'Trak'.-

Things that You Think That Are Going to be Simple Never Are

by Nic Plum on Friday 19 August, 2011 - 14:48 GMT

Posted in Architecture FrameworkTRAKTools

Tags: applescriptapplicationbugdevelopdrawingimplementipadmacomnigraffleopensourcesourceforgestencilsupporttooltrak

This is a bit of a tale, and not an unusual one at that. It concerns the development of a stencil for the Omni Group’s OmniGraffle drawing application which is available for both Mac and iPad. I’m a long time user of OmniGraffle Pro (at least 8 years) as well the the Mac (still have my original Mac Iici working) and OmniGraffle is just an easy to use and intuitive means of producing good drawings. All of the stuff in the defining TRAK documentation is produced using it.

Anyway, thought it might be an idea to have a stencil of the stereotypes and relationships to be able to knock up a quick TRAK architecture view when I felt it merited it (rather than firing up a bigger modelling tool such as Sparx Enterprise Architect). It’s all about horses for courses.

The OmniGraffle Stencil for TRAK Implements the TRAK Definition

The OmniGraffle Stencil for TRAK Implements the TRAK Definition

The Beginning - Fumblings

Not knowing anything about developing a stencil I simply created the blocks needed for the TRAK views and added a set of connectors for the relationships having labelled them. Then I discovered on loading the stencil that OmniGraffle presents the bare connectors separately from the labels for those connectors so there were many connectors in the stencil all seemingly the same. Started again. This time I just had 2 connectors and a text label for each relationship. This cut down the noise but I discovered that on the iPad version it wasn’t easy to use these as it didn’t seem to allow you to drag the label onto the connector and for the 2 to remain locked together as it would do on the desktop version. Started again. This next version had separate connectors, each with it’s own label but this time I grouped the label with the line and this indeed stopped the stencil from displaying them separately.

Sharing

Now I felt I was starting to get the hang of it. The obvious choice was to lodge this onto Sourceforge with all the other TRAK stuff so I created a new project (trakomnigraffle) and then discovered the front end of Sourceforge had changed so much I no longer knew where to go to do what in setting it up. This looks to be a consequence of security and an earlier attack on Sourceforge this year. Then I remembered GraffleTopia. This is a site that holds stencils and templates for OmniGraffle. Even better it’s moved on apace such that when looking for a stencil in OmniGraffle, including the iPad, it will display results from GraffleTopia for download/installation. Sounds good so I duly submitted the stencil. It appeared last Friday on the 12th August so very pleased. The ability to see how many downloads is nice. Sure enough I found it does appear within the desktop and iPad versions and you can download it from the iPad version. For whatever reason it throws an error in OmniGraffle Pro when you select it for downloading. I then had to spend time submitting a bug report.

I know that OmniGraffle supports user data in terms of a set of keys and data values. It seemed therefore sensible to implement the attributes for the various elements in the TRAK metamodel. This would allow more information to be captured and it looked likely to offer a path through which a XML export could be produced with these which would allow a sensible conversion or import via XMI into a UML modelling tool. I then updated the stencil so that each object has the right set of attributes. Great - making progress! I then update the Sourceforge site and go to the GraffleTopia site to upload the new version only to find that it doesn’t support the workflow involved with an update -

it’s a new stencil or nothing. Great - now I’ve got an older version that’s easier to find within the tool than the current master. In response I sent an email to the site owner but it was clear this wasn’t going to change overnight. Not quite as I’d hoped.

Update: Have now found the link to edit and resubmit new versions of the stencil so can only assume it was stupidity and/or blindness on my part. The good news is that GraffleTopia and Sourceforge are in sync!

More Ideas, More Problems

Having all these attributes as user data is good. Trouble is I then thought it’d be nice to be able to copy the attributes and perhaps the values from one object to another. No problems - this is a job for AppleScript (a venerable but very useful scripting technology that operates across the Mac platform and has done so for many many years) which could automate this. Luckily I have a decent debugger but even so it wasn’t going well owing partly to ignorance or forgetting things on my part not having used it for a while. I had to call on support from the ‘Support Ninjas’ at OmniGraffle and each time I’ve managed to move it forwards. I’ve now got to the stage where I can populate a set of shapes with a set of TRAK attributes. Even better it recognises if there is a key with data that exists and asks whether it should continue and wipe this data out for that key or just skip this item. You can see it’s getting ever more complicated which I suppose is the penalty for user-friendliness. Unfortunately it hit a problem when testing for a key name that doesn’t exist. After another response from the OmniGraffle Support Ninjas it seems there is a bug with the AppleScript object in OmniGraffle which causes it to return an undefined object and causes a runtime error. I have been directed to a workaround but it’s going to take a while to get my head around this.

Then it occurred to me that it’d make sense to have the type shown on the object to be determined from a key labelled ‘stereotype’ within each object. This way I wouldn’t be dependent on someone spelling the type correctly. I found that you can then display the value using the string <%UserData stereotype%> which then means by setting the value of this user data key it’s easy to change the type displayed to the user. I knew that only the Pro version supports the editing of these user data keys but had been assured by the OmniGraffle Support Ninjas that whilst the iPad and plain OmniGraffle applications couldn’t edit them they wouldn’t strip them out. But could they understand them?

Yes and no it seems. OmniGraffle behaves as OmniGraffle Pro does in that you can see the type names in the stencil and on the drawing canvas. OmniGraffle for iPad however doesn’t parse the user data whilst displaying the stencil and the result was 30-odd objects having no visible type only the <%UserData stereotype%> string. Not good!  Of course for the iPad you don’t have a mouse only fingers and therefore you can’t hover a finger and therefore I had no tool-tip text to save the day. The iPad application does, however, parse the user data and display the object type when you drop it onto the drawing canvas.The desktop versions display a tool-tip for the type or the relationship name making it easy to pick the right thing. Up until this point you’re just guessing. Sent another support request to the OmniGraffle Support Ninjas pointing out this inconsistency. In doing so I discovered that OmniGraffle doesn’t, for whatever reason, display the tool-tip text on mouse-over an object. Added this to the support request.

Update: iPad version failing to parse/display user data whilst object is in the stencil is now a confirmed bug. OmniGraffle not displaying note content as a tool-tip on mouse-over has been raised for debate within the OmniGraffle development team.

What to do in the meantime? I didn’t want to have to produce a second template just for the iPad. Equally I wanted to make use of the stereotype key to keep things consistent. In the end I added a workaround of changing ‘Name’ on each object to things like ‘a system’, ‘an architecture task’ so that there was again visibility of the object type.

The net result shown in the iPad is:
The OmniGraffle Stencil for TRAK - shown in an iPad

OmniGraffle Stencil for TRAK Available for Use on an iPad

Where Are We Then?

The OmniGraffle Stencil for TRAK provides objects with which to construct TRAK architecture description views

OmniGraffle Stencil for TRAK Provides Objects With Which to Construct TRAK Architecture Description Views


The OmniGraffle Stencil for TRAK provides:

  • a set of graphic objects corresponding to the TRAK metamodel stereotypes
    • each graphic object has the TRAK attributes (editable in OmniGraffle Pro)
  • a set of connectors corresponding to the TRAK metamodel relationships
  • a drawing identification / version box
  • available for Mac and iPad platforms
  • downloadable within the OmniGraffle application itself - but see below
  • available on GraffleTopia

The latest version of this is always on the Sourceforge trakomnigraffle project site. The GraffleTopia version is at version 1 still.

When I solve the problems with AppleScript there will then be an easy means to:

  • copy and pasted an object’s attributes (with no value)
  • copy and paste and object’s attributes and their values

Of course any drawing application has limitations when it comes to architecture description since it’s hard to keep it consistent and to enforce or check things like correct relationships being made. It is, however, a useful step and a useful addition to the family of implementations of TRAK and with more work should provide a migration path into a dedicated modelling tool. It has it’s place. As with TRAK it has just to be good enough or adequate - we’re not aiming for perfection!

It has, however, taken a lot, lot longer than I’d originally thought.

 

Comments

Comment on this article

Related Articles

    Sharing tags:

    External Links

    New Revision (“The ISO 42010 Mix”) of TRAK Released

    by Nic Plum on Friday 21 January, 2011 - 16:37 GMT

    Posted in Architecture FrameworkTRAKNewsStandards

    Tags: architecture descriptiondefinitionincoseiso42010standardtrakviewpoint

    TRAK Logo


    Just managed to shovel the last part of the documents that defines TRAK into cyberspace last night. The main purpose of the revision is to anticipate the likely requirements from ISO/IEC 42010 expected to be released under a slightly new name during 2011. There are quite a few changes to the ISO not the least of which is that it has requirements for architecture frameworks and makes reference to a framework metamodel. The opportunity has also been used to respond to constructive comments and requests made by the INCOSE UK Architecture Working Group.

    In the end this has proved a bigger change to the existing documents than anticipated. We now have a 3 document set that defines TRAK since it became clear that things that were global or common or which were best dealt with as “a whole” would be best separated into an overall TRAK Enterprise Architecture Framework document. This has meant things like the bye laws, colour rules and conformance/non-conformance with TRAK being moved into this document. It also provides the better place to provide advice on choosing an architecture description language to represent TRAK and to describe how TRAK relates to ISO/IEC 42010.

    This new 3 document structure has resulted in breaking out a new project on Sourceforge. The top-level reference for TRAK is now trak.sourceforge.net which is an improvement on the old bifurcated reference to both the viewpoints (trakviewpoints.sourceforge.net) and metamodel (trakmetamodel.sourceforge.net) projects / sites. Errors or feature requests for any of the documents can be made on the respective site.

    As a result of comments made by Rich Hilliard (always useful) it became clear that the old viewpoint definitions needed to be sharpened up. In particular I’ve added stakeholders derived from the standard , added more detail and examples to the presentation sections. Some of this existed in the old days before release as open source but never got incorporated into the new documents. In any case some of the thinking and the changes to the ISO have changed the content and it had to be started afresh. A suggestion was to add a ‘well-formedness’ section which attempts to define the minimum acceptable content for a view of each type. The latter was quite hard work and an empirical task as you think you’ve got it nailed, draw an example to immediately find that it breaks the rules. It’s not quite complete but a lot better for the effort and therefore worth releasing rather than waiting for perfection.

    No doubt there will be a few “after shocks” but nothing of the scale of this revision (I hope!).

    One of the ongoing questions is how to make it more concise, less wordy but accessible and understandable to the ‘normal’ Mk1 Human Being (the “non-softie”). In particular is there a way to define the minimum content visually without words - there are ways from the software world but are these likely to understandable to the non-softie or non-tecchie? Constructive suggestions on a postcard.

    Comments

    Comment on this article

    Related Articles

      {REL[6099][related1_blog]QKOFtekzREL}

      Sharing tags:

      External Links

      RSSB - Research and Development - The (UK) Railway Functional Architecture (RFA)

      by Nic Plum on Thursday 23 December, 2010 - 22:57 GMT

      Posted in Architecture FrameworkTRAKNews

      Tags: researchrssbseastrategytraktsaguk

      RSSB Logo

      Research streams are managed by the RSSB on behalf of the UK Technical Strategy Advisory Group (TSAG). An idea of the context for both organisations is provided within the demonstration architecture description on this site.

      From the UK Rail Safety and Standards Board (RSSB) - Research & Development e-Newsletter - Issue. 66 October 2010.

      Research in Progress. T912 The Railway Functional Architecture

      The Railway Functional Architecture (RFA) research project was commissioned by RSSB on behalf of the Technical Strategy Advisory Group (TSAG). It is intended to identify, at a fairly high level of abstraction, the technology-based functions that must be performed for a modern railway to operate.

      The output of this work will be a model that builds on the rail architecture framework (TRAK), which was developed for generic use within the rail industry. In early 2011 we will publish the RFA on the RSSB/TSAG website. A master copy will be retained by RSSB in an enterprise architect project file (.EAP) to be made available on request for organisations that want to manipulate or further develop the model.

      An architectural framework (ie TRAK) was used to ensure the creation of a model that is well structured and governed by documented rules, so that it could be maintained and extended without undue effort. Architecture frameworks are commonly used in information technology and information system governance. Because, like the railway, these disciplines are so broad and because the enterprises in which they are engaged can be large and complex, the models associated with the discipline also tend to be large and complex.

      The RFA has been subject to iterative improvements as a consequence of discussions both with individual industry experts and with stakeholders in workshop sessions. We acknowledge the input of the following organisations: ATOC, Network Rail, Birmingham University Centre for Rail Research, RFG, LUL, DfT, RIA, Transport Scotland, Crossrail.

      The work may aid in: identifying where commercial off-the-shelf (COTS) and ‘plug and play’ technologies may be employed; where ‘open systems’ architectures and ‘lean’ systems may be introduced; eliminating systems which duplicate functions; and shortening product development cycles by putting a standard architecture in place. Several other uses have become apparent as the model has been developed and those will be described in more detail when the finished product is published.

      An overview of this work was presented at the INCOSE UK Annual Systems Engineering Conference (ASEC) 2010 by Andy Prior (Systems Engineering and Assessment Ltd.)

      Work is underway to investigate the feasibility of releasing the architecture description for the railway functional architecture as open source in early 2011.

      Comments

      Comment on this article

      Related Articles

        {REL[6092][related1_blog]QKOFtekzREL}

        Sharing tags:

        External Links

        1.2.004 adl admin advice applescript application architecture architecture description architecture description language architecture framework artefact artisan studio award berlow blog boundary browser bug c3 capability capability configuration colaboration collaboration committee compare compliance concept concert conference configuration control conformance consistency content contrast css cv01 def stan defence definition demonstration denmark department for transport develop discovery dndaf document dod dodaf drawing enterprise enterprise architect ertms event evolve exchange exploit forum fun geneology gfdl gnu group handbook head-model history humour ibm rhapsody ieee ieee1471 iet ietf implement implementation incose innovation institute integrated ea interoperability introduction ipad iso iso42010 isse keynote knowledge language linkedin lockheed martin london london underground m3 mac management mdg meaning meeting metamodel mil std modaf model modelling style naf nato natural language needline news no magic magicdraw noun omg omnigraffle ontology open source opensource operational organisation oxfordshire perspective plan platform playlist portability presentation procurement profile project public publication publish purpose rail relationship release repository research resource rfc4677 risk role rssb rule safety sea search security sentence service singapore site softeam modelio software solution song sos sourceforge sparx systems sparx systems enterprise architect specification spreadsheet stakeholder concern standard steering group stencil stereotype store strategy structure support sysml system system authority system of systems systems engineering team template test threat tool trak travel tsag
         

        All articles/posts © of the respective authors

        Site design and architecture © 2010 - 2011 Eclectica Systems Ltd.