Dale's profileDale Churchward's SpacePhotosBlogListsMore Tools Help

Blog


    July 13

    Diagrams, diagrams, everywhere I look

    Based on some conversations with teammates recently, I have been thinking a lot about system diagrams, and how we do them, especially as we go through the design and implementation phases of an application.

     

    Think for a moment on the large number of artifacts that are produced just to add new functionality to a system. On a project I recently worked on, there were at least 30 different documents I can think of that were prepared for the different audiences that needed some information around the project. The majority of these documents had diagrams attempting to show specific information about the system, and create an audience specific view of what would take place.

     

    Imagine if you will for a moment if we could change this paradigm. What if we had a way of writing a language that could describe a system? Instead on thinking about design from a graphical perspective (Visio), we thought of it from a communications perspective (language)? Like all languages there would be a schema or framework to the language and elements to describe the parts of the application.

     

    By the way, I am not suggesting that humans would get away from making drawings per say as we tend to like to think in terms of pictures, but I am suggesting that these pictures, made in any number of tools, could then be extracted out to a language structure so a machine could use the data. The key to this working of course would be to structure the language so we could all speak the same way.

     

    This is not nearly as unusual as one would imagine. Much like a flowchart where each symbol means something specific or even a Visio diagram where a cloud represents the internet, or a brick wall with a flame represents a firewall, each symbol describes something that is clear to the mind of the reader. If we had a way to translating these pictures to a language that a computer could interpret think of the power we would have.

     

    Instead of each drawing having to be redone for each new audience or each time there is a change, we could simply modify values in the underlying language and the computer could produce a new drawing for us instantly with no manual work on our part. We would also be able to display any portion of our system quickly and with no additional work. And the best feature is that keeping system diagrams up to date then becomes simple as data in individual fields could then be modified and an updated diagram produced as needed.

     

    This idea is not new or unique of course. We use description languages all of the time to make application more effective. Everything from an XSD to a WSDL, or an IDL have been used when we need to portray individual components or messages. It simply makes sense to go the other way and use this same logic to describe the system as a whole as well as the individual components.

     

    While it may be difficult to get acceptance at first and the grammar (schema) and vocabulary (data) are defined if you do it right you can produce a tool that can allow for shorter release cycles and reduce the burden of the resources that create and maintain the system diagrams.

     

    I am interested in your thoughts.

    Comments (4)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    No namewrote:


    http://www.akkuliste.com/ibm/thinkpad-x60.htm ibm thinkpad x60 akku
    http://www.akkuliste.com/ibm/thinkpad-x60s.htm ibm thinkpad x60s akku
    http://www.akkuliste.com/hp/zt3000.htm hp zt3000 akku
    http://www.akkuliste.com/hp/pavilion-zv5000.htm hp pavilion zv5000 akku
    http://www.akkuliste.com/hp/pavilion-zv6000.htm hp pavilion zv6000 akku
    http://www.akkuliste.com/hp/pavilion-zd8000.htm hp pavilion zd8000 akku
    http://www.akkuliste.com/hp/pavilion-zx5000.htm hp pavilion zx5000 akku
    http://www.akkuliste.com/hp/presario-v4000.htm hp presario v4000 akku
    http://www.akkuliste.com/hp/presario-v2000.htm hp presario v2000 akku
    http://www.akkuliste.com/hp/presario-m2000.htm hp presario m2000 akku
    http://www.akkuliste.com/compaq/presario-v4000.htm compaq presario v4000 akku
    http://www.akkuliste.com/compaq/presario-v2000.htm compaq presario v2000 akku
    http://www.akkuliste.com/compaq/presario-v3000.htm compaq presario v3000 akku
    http://www.akkuliste.com/compaq/presario-v6000.htm compaq presario v6000 akku
    http://www.akkuliste.com/compaq/presario-c700.htm compaq presario c700 akku
    http://www.akkuliste.com/dell/fk890.htm dell fk890 akku
    http://www.akkuliste.com/toshiba/pa3593u-1bas.htm toshiba pa3593u-1bas akku
    http://www.akkuliste.com/hp/m2000.htm hp m2000 akku
    http://www.akkuliste.com/hp/338794-001.htm hp 338794-001 akku
    http://www.akkuliste.com/hp/395789-001.htm hp 395789-001 akku
    http://www.akkuliste.com/compaq/116314-001.htm compaq 116314-001 akku
    http://www.akkuliste.com/toshiba/satellite-a70.htm toshiba satellite a70 akku
    http://www.akkuliste.com/compaq/319411-001.htm compaq 319411-001 akku
    http://www.akkuliste.com/hp/346970-001.htm hp 346970-001 akku
    http://www.akkuliste.com/hp/367759-001.htm hp 367759-001 akku
    http://www.akkuliste.com/hp/411462-421.htm hp 411462-421 akku
    http://www.akkuliste.com/hp/ev088aa.htm hp ev088aa akku
    http://www.akkuliste.com/hp/ex941aa.htm hp ex941aa akku


    Nov. 8
    No namewrote:

    http://www.akkuliste.com/hp/530.htm hp 530 akku
    http://www.akkuliste.com/toshiba/pa3421u-1brs.htm toshiba pa3421u-1brs akku
    http://www.akkuliste.com/toshiba/pa3465u-1brs.htm toshiba pa3465u-1brs akku
    http://www.akkuliste.com/dell/d400.htm dell d400 akku
    http://www.akkuliste.com/mitac/bp-8x99.htm mitac bp-8x99 akku
    http://www.akkuliste.com/toshiba/satellite-a70.htm toshiba satellite a70 akku
    http://www.akkuliste.com/acer/btp-arj1.htm acer btp-arj1 akku
    http://www.akkuliste.com/uniwill/255-3s4400-g1l1.htm uniwill 255-3s4400-g1l1 akku
    http://www.akkuliste.com/uniwill/un255.htm uniwill un255 akku
    http://www.akkuliste.com/uniwill/un258.htm uniwill un258 akku
    http://www.akkuliste.com/toshiba/pa3356u-1bas.htm toshiba pa3356u-1bas akku
    http://www.akkuliste.com/compaq/nc6000.htm compaq nc6000 akku
    http://www.akkuliste.com/apple/a1175.htm apple a1175 akku
    http://www.akkuliste.com/toshiba/pa3534u-1brs.htm toshiba pa3534u-1brs akku
    http://www.akkuliste.com/toshiba/satellite-a205.htm toshiba satellite a205 akku
    http://www.akkuliste.com/acer/aspire-1800.htm acer aspire 1800 akku
    http://www.akkuliste.com/hp/dv6500.htm hp dv6500 akku
    http://www.akkuliste.com/hp/dv6600.htm hp dv6600 akku
    http://www.akkuliste.com/hp/dv2200.htm hp dv2200 akku
    http://www.akkuliste.com/dell/xps-m1730.htm dell xps m1730 akku
    http://www.akkuliste.com/hp/pavilion-zd7000.htm hp pavilion zd7000 akku
    http://www.akkuliste.com/hp/338794-001.htm hp 338794-001 akku
    http://www.akkuliste.com/ibm/thinkpad-r52.htm ibm thinkpad r52 akku
    http://www.akkuliste.com/ibm/thinkpad-t41.htm ibm thinkpad t41 akku
    http://www.akkuliste.com/ibm/thinkpad-t42.htm ibm thinkpad t42 akku
    http://www.akkuliste.com/ibm/thinkpad-t43.htm ibm thinkpad t43 akku
    http://www.akkuliste.com/ibm/thinkpad-z60m.htm ibm thinkpad z60m akku
    http://www.akkuliste.com/ibm/thinkpad-z61m.htm ibm thinkpad z61m akku
    http://www.akkuliste.com/ibm/thinkpad-z61p.htm ibm thinkpad z61p akku
    http://www.akkuliste.com/ibm/thinkpad-z60t.htm ibm thinkpad z61t akku
    http://www.akkuliste.com/ibm/thinkpad-z60t.htm ibm thinkpad z60t akku
    http://www.akkuliste.com/dell/m1210.htm dell m1210 akku
    http://www.akkuliste.com/dell/inspiron-6000.htm dell inspiron 6000 akku
    http://www.akkuliste.com/dell/inspiron-9300.htm dell inspiron 9300 akku
    http://www.akkuliste.com/hp/dv8000.htm hp dv8000 akku
    http://www.akkuliste.com/hp/dv1000.htm hp dv1000 akku
    http://www.akkuliste.com/hp/dv4000.htm hp dv4000 akku
    http://www.akkuliste.com/hp/r3000.htm hp r3000 akku
    http://www.akkuliste.com/dell/inspiron-mini-9.htm dell inspiron mini 9 akku
    http://www.akkuliste.com/dell/inspiron-9400.htm dell inspiron 9400 akku
    http://www.akkuliste.com/acer/aspire-5520.htm acer aspire 5520 akku
    http://www.akkuliste.com/acer/aspire-5920.htm acer aspire 5920 akku
    http://www.akkuliste.com/dell/inspiron-6400.htm dell inspiron 6400 akku


    Nov. 8
    As you point out, the idea is not new. Since I wrote this I have done more research. I still feel like the majority of the options currently available don't really meet the needs of most IT users. What I m thinking of is a language that can be used both ways so if you want to document the system using xml you can, but if you wantto do it via something like a Visio drawin you can do it that way as well, and what is drawn can be changed to xml as well. The point would be to make some that is just as easily used by humas as by computers.
     
    I appreciate your comments. I am trying to think this through a little more, and do more research as to what's available.
    July 18
    Picture of Anonymous
    Chris Brown wrote:
    I can relate to the thought process behind your suggestion for a 'design language', although this is not a new concept.  However, there are already other options - such as UML, which has been widely accepted for years, and more recently several DSLs, which Microsoft are into in a big way and have built VS.NET architect version on.  Yes - the majority of these 'languages' are pictorial but there is a good reason for that.  A design language is used primarily to *communicate* the design to the dev team, but also to aid the analysis process and post-implementation to document the system.  A whole load of code-like text does not really provide an effective communication medium, and makes the idea of levels of abstraction difficult to represent.  Hence this has not taken off before.
     
    That said, I wholeheartedly agree that keeping the design up to date post release is a real nightmare and anything automated in this space is a bonus.  Options as I see it are to a) use VS.NET as the modelling tool - this keeps the code as the master and the detailed design diagrams evolve with the code, or b) [my choice] to create a tool which updates your UML model as part of the build process.  This still only works at the low level, although if you are modifying the architecture of the system (high-level) by directly changing the code rather than going through the A&D process, an up to date model is the least of your problems.
    July 18

    Trackbacks

    The trackback URL for this entry is:
    http://halfmybrain.spaces.live.com/blog/cns!DF6CA820250998D2!129.trak
    Weblogs that reference this entry
    • None