TweetFollow Us on Twitter

Aranda
Volume Number:6
Issue Number:8
Column Tag:Kelly's Corner

Aranda on the CASE

By Dave Kelly, MacTutor Editorial Board

The Ideal Programming Environment

The ideal programming environment doesn’t exist. That is, as hard as they try, programmers are not perfect. I’m not talking about what compiler is used, or even which language. I’m talking about the software development process.

In the typical programming scenario, Joe Programmer has a defined objective to accomplish. The specifications are clear, precise and there are no last minute changes. He knows his job and how to do it.

Joe begins his program with a plan. He plans his programming task in advance and flow charts the entire program. The flow chart is documented well so that another programmer, the one that will later provide support to Joe’s program, can understand how the program works.

Joe documents his source code and keeps accurate notes describing the function of each part of the source code. He writes a detailed user manual which describes how to use his program.

Sounds far fetched, huh? Whether your name is Joe or not, sooner or later someone is going to try to understand your work. You should want to make it as easy as possible. Organization is the key. The problem is that many programmers don’t take the time to plan their program before they start and document their work as they go along. So, what do you do when you come across someone else’s (or even your own source code) and it isn’t documented well.

Aranda™ from Soft-SET™ (version 1.01 is referred to here) is designed to help you understand existing code making it easier to reuse, modify, and maintain. It is the latest in computer-aided software engineering (CASE) products for the Macintosh. It doesn’t generate any code and it doesn’t write your program for you. As a matter of fact, you must provide the source code before Aranda will even do anything.

Aranda parses source code and builds an abstract syntax tree (AST) of the source code information. This tree allows Aranda to provide context sensitive information about the source code. For example, you can apply a Used By tool to a global variable and Aranda will produce a listing of only those identifiers that use this global variable even if another variable has the same name. Identifier names that are used in source code comments are not reported in the usage analysis report.

Aranda allows you to selectively hide source code detail and graphically summarizes identifier relationships. Each identifier in the tree has its own unique symbol: shadow boxes for routines, ovals for variables, layered boxes for methods, etc. You can trace your way through a routine by applying the Used By tool to get a list of all the other identifiers that use the routine. A new chart comes up that shows the identifiers that use that routine. By using other tools you can get a report that shows where variables get set and which routines call a particular routine. If you double-click on a symbol in the tree, you can show/hide detail.

If you are interested in studying the logic of a particular routine, you can use the Flow Chart tool to generate a flow chart. If you hold down the command key and clicking on a block of the flow chart then Aranda will display the full source code statement to clarify the block. Tools like this one let you explore the source code and help you to develop a better grasp of how the program is put together.

Traditionally, documentation has been on the bottom of the list of the programmer’s priorities. Aranda has made it much easier to document a program. As you explore different parts of the source code, Aranda builds a collection of reports which can be the basis for all of the documentation for the project. Aranda supplies documentation templates called Notes that automatically extract identifier information and organize it onto a note that has a hypertext link to the identifier.

Notes templates are provided for routines, variables, data types, constants, and units. The Notes tool for a routine creates a form listing the routine’s name, its input and output parameters, what uses it, and what it imports. The form is automatically filled out. What’s more, the identifier names are active and can be queried just like in the other Aranda charts. There is room on the Notes form to add your own remarks, such as design diagrams, system requirements, task descriptions, comments about the use of a routine, or even add other Aranda charts or your own PICTs.

Aranda’s greatest strength is its ability to help a programmer get familiar with code that someone else wrote. There are several ways that this strength helps the programmer. Often, when a programmer is given code to work on it is to make changes or additions. Aranda helps the programmer analyze existing code in order to document how they are to integrate new units into the code. Aranda helps new program team members to get up to speed on a project. One of SoftSET’s beta tests sites said that it cut the learning time for their new programmer in half.

Aranda is a great way to learn about MacApp. Aranda’s Classes tool generates a class hierarchy for object oriented code. This may be the first CASE application that addresses object oriented code. SoftSET’s beta test sites have used Aranda to learn MacApp and the integration of MacApp into their project.

One feature that was left out in version 1.01 is multiple windows. Currently, each report or chart uses the same window to display in. This makes it difficult to view two parts at the same time. Soft-SET has assured me that multiple windows will be included in the next update which hopefully will be in August. Since they plan to update this feature I won’t complain about, but it is something that would make Aranda considerably better.

Another feature of the product that was not ready for the initial release is the ability to edit your source code within Aranda. Soft-SET is currently working on this and it will be included in an update which should be available by the time you read this. This editor is not meant to replace the text editor you are already using, but as people use Aranda more and more they want to be able to do more of their work in the Aranda environment. Also, the update will give the capability to showing you graphically (and almost instantly) how the procedure you wrote (for example) affects the rest of the project. Multiple windows and editing will be updated for no additional charge. They also plan to update the printing and layouts. There needs to be more flexibility for an organization to format their output to match company procedures and formats.

Along these same lines, the C version is in work should be in beta-test about the time you read this. It will also handle C++. The release date for this version will be September/October In early 1991, Aranda will support COBOL

Other than enhancements to the basic functionality of Aranda (more code analysis tools, page layout, etc.) and some metrics tools such as McCabe and Halstead metrics, the next major area of functionality for Aranda in 1991 will be testing tools with two planned. (1) a profiler-branch coverage tool and (2) a test driver generator that automatically generates a scaffolding so that the tester can exercise their code.

Aranda’s 80 page manual includes a reference section and a quick guide. A short tutorial gives users a quick overview of all of Aranda’s functions. The tutorial doesn’t go into much depth about how you can apply Aranda to source code documentation. Soft-SET is working on application notes which will eventually be included in an application users guide. The manual leads the user (step-by-step) through each function/tool.

Aranda is now available for Apple’s MPW Pascal, and Symantec’s THINK Pascal™. Aranda runs under both Finder and Multifinder. A 68020 or 68030 based Macintosh with a minimum of two megabytes of RAM is required. The other requirement is money. Aranda is designed for programming teams which need to work together and keep their work organized and easy for each other to understand. If you are a small (1 or 2 programmers) developer then Aranda is probably too pricey.

[Aranda, I would hope, will no doubt be essential to every developer no matter how small the project or the development group. As compilers make increasingly smaller advances in code generation quality, they will begin competing on features and ease of use. The use of tools, such as Aranda, will benefit everyone.-ed]

Aranda is available from:

Soft-SET Technologies, Inc.

1847 W. Broadway, #301

Vancouver, B.C. V6J 1Y6

phone:(604) 734-1622

fax: (604) 733-5294

AppleLink: SOFTSET

PRICE: $995 first unit

$750 unit 2-10

$675 unit 11-25

$495 unit 26-50

Education discounts apply to bonafide educational institutions at 66% off the regular list price. A special student version of Aranda limited to projects less than 5000 lines of source code is available for $50 which must be purchased through the institution.

Technical Support: free updates to Pascal version for 12 months after purchase and 30 days of free technical support. The annual rate for technical support will be $150 which will be provided free of charge to Aranda buyers who make their purchase prior to August 1.

 
AAPL
$570.56
Apple Inc.
+13.59
GOOG
$609.46
Google Inc.
+8.66
MSFT
$29.11
Microsoft Corpora
-0.65
MacNews Search:
Community Search:
view counter

view counter
view counter
view counter
view counter
view counter
view counter
view counter
view counter

Fruit Ninja Gets New Update With Powerup...
Fruit Ninja is about to get its biggest update yet to celebrate its second anniversary on Thursday, May 24th. The key new element in the game appears to be that players will now be able to earn an in-game currency, called starfruit, that can be used to buy new powerups from new characters Gutsu and Truffles, introduced in the new trailer produced... | Read more »
Fotor – CameraBag Review
Fotor – CameraBag Review By Jennifer Allen on May 23rd, 2012 Our Rating: :: PLENTIFULiPhone App - Designed for the iPhone, compatible with the iPad A photography app that wants to be able to do everything that could ever be asked of it.   | Read more »
playGO AP1 is the Next Generation of Aud...
With all of Apple’s relatively recent success in the smartphone and tablet market, we can forget sometimes that what kicked off their modern dominance was a device that simply played music. BICOM, Inc. has been recognizing how important music is to the company with their playGo series of iOS receiver systems. The newest model, the playGo AP1, is... | Read more »
Monkey Pong Review
Monkey Pong Review By Angela LaFollette on May 23rd, 2012 Our Rating: :: BALL BUSTING ACTIONiPhone App - Designed for the iPhone, compatible with the iPad Help the hungry monkey reach all the fruit by bouncing a ball in this family-friendly arcade game.   | Read more »
Heroes & Generals Enters Closed Beta
Creators of Hitman, Roto-Moto, has launched a closed beta of their game, Heroes & Generals. The game is a massively multiplayer first-person shooter involving online fighting between the Axis and Allied forces in Europe. | Read more »
FeedFriendly Review
FeedFriendly Review By Angela LaFollette on May 23rd, 2012 Our Rating: :: EASY TO USEUniversal App - Designed for iPhone and iPad Combine the top three social network newsfeed updates into one location with the help of FeedFriendly.   | Read more »
Favorite 4: Euro 2012 Apps
In a matter of weeks, one of the biggest soccer tournaments out there begins: Euro 2012. Qualification is over and 16 European teams are all lined up to prove which one is the best of the bunch. As a Brit, I’m ever hopeful that England will achieve glory but regardless of what happens, I’ll be enjoying seeing some high quality action. In honor of... | Read more »
Zombie Farm 2 Review
Zombie Farm 2 Review By Rob LeFebvre on May 23rd, 2012 Our Rating: Universal App - Designed for iPhone and iPad Take on the role of a social game farmer who plants both crops AND zombies in this sequel to the original hit, Zombie Farm.   Developer: The Playforge | Read more »
Facebook Pages Manager Does Exactly What...
Sick of hearing about the Facebook IPO? Want to hear about something actually related to the Facebook product? Well, I have good news then. Facebook has launched a new app that will come in handy for users who manage Facebook Pages. | Read more »
Score! Classic Goals Review
Score! Classic Goals Review By Jennifer Allen on May 23rd, 2012 Our Rating: :: GOAL!Universal App - Designed for iPhone and iPad Relive some classic goals by creating them in this addictive soccer game.   | Read more »
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.