ARIS Community - We Love BPM

Program Flow Chart - Use of

A Horner's picture
by Anthony Horner in Professional ARIS posted on 2011-12-06


I've a couple of questions around this diagramming technique.  Is it used to show what happens inside of a software program or is it supposed to show programs calling each other?

If it is to be the algorithm of what happens inside a program as suggested in the method_manual_aris_s.pdf (section page158) which symbols are being used in the diagram on this page? I can't find them palette on the right hand side.  In User_guide_IT _Architect_s (section 5.1.2. page 17) it seems to suggest that it is as an interface to show programs being called between each other, which is it to be?

Also on a related note, In access diagrams I've seen that others have recommended not using the symbols for programming languages or DBMS type.  These symbols are deprecated and that instead of these symbols, the Application System Type symbol should be used.  

Practically how is this implemented? If I have an access diagram and I want to show that certain Application System Type objects are written in Assembler or COBOL then I have to have these defined somewhere else.  I imagine that these be defined as being part of an application system class called programming languages, but where?  Is there a diagram you have for defining these application system types which are used throughout the models that call them.  Do you put all your definitions here? (So all your other attributes that that will be used in your access models - DBMS types plus user-defined attributes)  Is there a standard way of naming these diagrams?


Thanks in advance





Sorry there are no tags
There are no attachments
Anthony Horner posted on 2011-12-07

Hi, any takers on this question regarding what the program flow chart is for?

Rick Bosworth posted on 2011-12-07

Like with many model types in ARIS it can actually be used for both purposes. At the high level it could show program to program communications and then each program could have a Program Flow Chart that shows the details inside the program if you want to. As to the symbols in the method manual, I can only guess that they are either custom symbols or this is not an ARIS diagram at all as those symbols are not in the Program Flow Chart model type.

The reason that many recommend not using the Operating System, DBMS, Programming Language, etc symbols is that they are very limited as to which model types they can be used. The Application System Type object can be used in many more model types. If you like those specific object types you can create them as symbols for the Application System Type object and get the best of both worlds.

For things like OS, DBMS, Programming Language, etc, they are usually defined as Application Software Classes and the specific types (Assembler, COBOL, etc) as Application System Types. Where you model may vary depending on whether you are using IT Architect. IT Architect has some specific model types for managing them and their life cycle. There are examples of them in the IT Architect Users Guide. If you don't have IT Architect then you can use the Application System Type Diagram to capture the Classes and the Types within each class.



Anthony Horner posted on 2011-12-08

Thanks Rick,

I actually noticed that there are two program flow chart diagramming techniques.  Program Flow Chart and Program Flow Chart (PF).  The second one seems to be the internal program flow within a program.  The range of symbols seems to tally up to the diagram in the manual method pdf.  So that is one problem sorted.

However unless someone can point out where this difference is explained, I find it a fault of the documentation either to explain correctly where to find information or that the entry to explain something is not complete. 

As newcomer to ARIS, I find it difficult to know whether I have all the information pertaining to something I want to use.  It may be fine for people with lots of experience of the ARIS method but I feel I need more examples and how those objects/models 'could' relate to other models etc.

There I just needed to vent!