The Residual World::Tag = 'Sourceforge'
Entries that have been tagged with 'Sourceforge'.-
by Nic Plum on Wednesday 13 March, 2013 - 21:33 GMT
Sorry for the awful pun…
A small band of happy volunteers have been musing over possible extensions to TRAK to provide viewpoints that address typical safety and security concerns. As part of the ongoing activity a candidate set of concepts / entities for the TRAK metamodel have been described in a short document together with some of the backgrounds from which they arise. This has been published and comment / discussion is being encouraged on the forum on the TRAK Viewpoints project on Sourceforge. If you have any views on the candidate entities please post them there.
There will be other follow-on documents soon:
- a definition of the candidate relationships that knit these entities together and to the residual TRAK metamodel
- a definition of the candidate viewpoints (ISO/IEC/IEEE 42010 terminology) against which views are prepared that use the candidate and existing parts of the metamodel
There will then follow a testing phase to ensure that what is proposed is usable, easily understood, pragmatic and of utility (fit for purpose - but no more than necessary as we don’t want perfection at the expense of usability) for jobbing engineers and those who need to be able to read and understand the products and who aren’t in any technical priesthood. If anyone wishes to help in this testing phase can they please make contact either via this site or the Sourceforge discussion forum for the Safety and Security Working Group.
- Risk and Threats - The Common Ground Between Security and Safety? (80% )
- Definitions - What Exactly is a Risk? (60% )
- What Would a TRAK View Look Like in a Graph Database? Part 1 (20% )
- Solution Risk, Vulnerability, Threat and Mitigation - Does Risk Need to be Separate from Event? (20% )
- Every Viewpoint Has to Be Distinct - Say “Goodbye” to the TRAK CVp-02 Concept Viewpoint (20% )
by Nic Plum on Tuesday 10 April, 2012 - 21:25 GMT
This is something that has been bumbling around for some considerable time - safety and security. By that I whether there is something useful that an enterprise architecture view can be used for in the system safety and security disciplines.
On the face of it there is quite a bit of overlap. Both are ultimately concerned with risk inherent in a solution design which arises from threats (security) or hazards (safety). Both involve management with the aim to reduce the risk, threat or accident (safety) to an acceptable or tolerable target. I suspect also that security management also uses categories to classify acceptable severity or probability in much the same way that the various system safety management standards in defence do (MIL STD 882D, DEF STAN 00-56). Both also involve mitigation of risk by design - through structure, behaviour, or adherence to a normative process of some sort.
There are bound to be some differences, not the least of which is terminology. In the security area we seem to have constructs like:
- Threat poses Risk
- Threat exploits Vulnerability
- design aka TRAK:Resource (System, Software, Organisation, Job or Role) exposed to Risk (and subsequently that Risk is mitigated by the (improved) Resource or Function (of that Resource)
In the safety area we seem to have constructs like:
- Failure may present Hazard
- Hazard can cause Accident
- Accident poses Risk
- Resource exhibits Failure
and attributes such as probability, impact, severity.
Anyway it seems sensible to open up the debate so I’ve posted some thoughts in the forums within the TRAK Viewpoints project site on Sourceforge. Something is definitely needed and my hunch is that there is so much overlap that it would be possible to create a Viewpoint that addresses the risk within a solution design. This may of course end up being two viewpoints depending on the concerns and therefore concepts (metamodel stereotypes) and relationships involved. What is needed is more debate and input from those involved with system safety and system security - hence the post. As ever with TRAK the objective is economy so that we have something that is just or barely adequate to describe the concerns and concepts involved and no more.
- Solution Risk, Vulnerability, Threat and Mitigation - Does Risk Need to be Separate from Event? (41% )
- Definitions - What Exactly is a Risk? (29% )
- Just When You Thought It Was Safe - EntiTy Returns (24% )
- Definitions - What Exactly is a Risk Part 2? (24% )
- What Would a TRAK View Look Like in a Graph Database? Part 1 (18% )
- DEF STAN 00-56/4 Part 1 / Part 2 Safety Management Requirements For Defence Systems. [registration needed to access]
- MIL STD 882D. Department Of Defense Standard Practice For System Safety. February 2000
- Cabinet Office. Security Policy Framework. V7 October 2011.
- Security Ontology. Stefan Fenz.
- Secure Business Austria. Security Ontology.
- HIPAA Security Series. 6 Basics of Risk Analysis and Risk Management.
- Safety & Functional Safety. ABB Brochure 1SFC001008B0201.
by Nic Plum on Friday 19 August, 2011 - 14:48 GMT
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 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.
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 -
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:
Where Are We Then?
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.
- Risk and Threats - The Common Ground Between Security and Safety? (13% )
- Just When You Thought It Was Safe - EntiTy Returns (13% )
- What Would a TRAK View Look Like in a Graph Database? Part 1 (7% )
- Solution Risk, Vulnerability, Threat and Mitigation - Does Risk Need to be Separate from Event? (7% )
- Definitions - What Exactly is a Risk? (7% )