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
$105.03
Apple Inc.
+0.20
MSFT
$46.01
Microsoft Corpora
+0.99
GOOG
$538.97
Google Inc.
-5.01

MacTech Search:
Community Search:

Software Updates via MacUpdate

OS X Server 4.0 - For OS X 10.10 Yosemit...
Designed for OS X and iOS devices, OS X Server makes it easy to share files, schedule meetings, synchronize contacts, develop software, host your own website, publish wikis, configure Mac, iPhone,... Read more
TotalFinder 1.6.12 - Adds tabs, hotkeys,...
TotalFinder is a universally acclaimed navigational companion for your Mac. Enhance your Mac's Finder with features so smart and convenient, you won't believe you ever lived without them. Tab-based... Read more
BusyCal 2.6.3 - Powerful calendar app wi...
BusyCal is an award-winning desktop calendar that combines personal productivity features for individuals with powerful calendar sharing capabilities for families and workgroups. BusyCal's unique... Read more
calibre 2.7 - Complete e-library managem...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital... Read more
Skitch 2.7.3 - Take screenshots, annotat...
With Skitch, taking, annotating, and sharing screenshots or images is as fun as it is simple.Communicate and collaborate with images using Skitch and its intuitive, engaging drawing and annotating... Read more
Delicious Library 3.3.2 - Import, browse...
Delicious Library allows you to import, browse, and share all your books, movies, music, and video games with Delicious Library. Run your very own library from your home or office using our... Read more
Art Text 2.4.8 - Create high quality hea...
Art Text is an OS X application for creating high quality textual graphics, headings, logos, icons, Web site elements, and buttons. Thanks to multi-layer support, creating complex graphics is no... Read more
Live Interior 3D Pro 2.9.6 - Powerful an...
Live Interior 3D Pro is a powerful yet very intuitive interior designing application. View Video Tutorials It has every feature of Live Interior 3D Standard, plus some exclusive ones: Create multi... Read more
The Hit List 1.1.7 - Advanced reminder a...
The Hit List manages the daily chaos of your modern life. It's easy to learn - it's as easy as making lists. And it's powerful enough to let you plan, then forget, then act when the time is right.... Read more
jAlbum Pro 12.2.4 - Organize your digita...
jAlbum Pro has all the features you love in jAlbum, but comes with a commercial license. With jAlbum, you can create gorgeous custom photo galleries for the Web without writing a line of code!... Read more

Latest Forum Discussions

See All

Rami Ismail Opens Up distribute​() for D...
Rami Ismail Opens Up distribute​() for Developers Posted by Jessica Fisher on October 24th, 2014 [ permalink ] Rami Ismail, Chief Executive of Business and Development at indie game studio | Read more »
Great Hitman GO Goes on Sale and Gets Ne...
Great Hitman GO Goes on Sale and Gets New Update – Say That Three Times Fast Posted by Jessica Fisher on October 24th, 2014 [ permalink ] | Read more »
Rival Stars Basketball Review
Rival Stars Basketball Review By Jennifer Allen on October 24th, 2014 Our Rating: :: RESTRICTIVE BUT FUNUniversal App - Designed for iPhone and iPad Rival Stars Basketball is a fun mixture of basketball and card collecting but its... | Read more »
Rubicon Development Makes Over a Dozen o...
Rubicon Development Makes Over a Dozen of Their Games Free For This Weekend Only Posted by Jessica Fisher on October 24th, 2014 [ permalink ] | Read more »
I Am Dolphin Review
I Am Dolphin Review By Jennifer Allen on October 24th, 2014 Our Rating: :: NEARLY FIN-TASTICUniversal App - Designed for iPhone and iPad Swim around and eat nearly everything that moves in I Am Dolphin, a fun Ecco-ish kind of game... | Read more »
nPlayer looks to be the ultimate choice...
Developed by Newin Inc, nPlayer may seem like your standard video player – but is aiming to be the best in its field by providing high quality video play performance and support for a huge number of video formats and codecs. User reviews include... | Read more »
Fighting Fantasy: Caverns of the Snow Wi...
Fighting Fantasy: Caverns of the Snow Witch Review By Jennifer Allen on October 24th, 2014 Our Rating: :: CLASSY STORYTELLINGUniversal App - Designed for iPhone and iPad Fighting Fantasy: Caverns of the Snow Witch is a sterling... | Read more »
A Few Days Left (Games)
A Few Days Left 1.01 Device: iOS Universal Category: Games Price: $3.99, Version: 1.01 (iTunes) Description: Screenshots are in compliance to App Store's 4+ age rating! Please see App Preview for real game play! **Important: Make... | Read more »
Toca Boo (Education)
Toca Boo 1.0.2 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0.2 (iTunes) Description: BOO! Did I scare you!? My name is Bonnie and my family loves to spook! Do you want to scare them back? Follow me and I'll... | Read more »
Intuon (Games)
Intuon 1.1 Device: iOS Universal Category: Games Price: $.99, Version: 1.1 (iTunes) Description: Join the battle with your intuition in a new hardcore game Intuon! How well do you trust your intuition? Can you find a needle in a... | Read more »

Price Scanner via MacPrices.net

Nimbus Note Cross=Platform Notes Utility
Nimbus Note will make sure you never forget or lose your valuable data again. Create and edit notes, save web pages, screenshots and any other type of data – and share it all with your friends and... Read more
NewerTech’s Snuglet Makes MagSafe 2 Power Con...
NewerTech has introduced the Snuglet, a precision-manufactured ring designed to sit inside your MagSafe 2 connector port, providing a more snug fit to prevent your power cable from unintentional... Read more
Apple Planning To Sacrifice Gross Margins To...
Digitimes Research’s Jim Hsiao says its analysts believe Apple is planning to sacrifice its gross margins to save its tablet business, which has recently fallen into decline. They project that Apple’... Read more
Who’s On Now? – First Instant-Connect Search...
It’s nighttime and your car has broken down on the side of the highway. You need a tow truck right away, so you open an app on your iPhone, search for the closest tow truck and send an instant... Read more
13-inch 2.5GHz MacBook Pro on sale for $949,...
Best Buy has the 13″ 2.5GHz MacBook Pro available for $949.99 on their online store. Choose free shipping or free instant local store pickup (if available). Their price is $150 off MSRP. Price is... Read more
Save up to $125 on Retina MacBook Pros
B&H Photo has the new 2014 13″ and 15″ Retina MacBook Pros on sale for up to $125 off MSRP. Shipping is free, and B&H charges NY sales tax only. They’ll also include free copies of Parallels... Read more
Apple refurbished Time Capsules available sta...
The Apple Store has certified refurbished Time Capsules available for up to $60 off MSRP. Apple’s one-year warranty is included with each Time Capsule, and shipping is free: - 2TB Time Capsule: $255... Read more
Textilus New Word, Notes and PDF Processor fo...
Textilus is new word-crunching, notes, and PDF processor designed exclusively for the iPad. I haven’t had time to thoroughly check it out yet, but it looks great and early reviews are positive.... Read more
WD My Passport Pro Bus-Powered Thunderbolt RA...
WD’s My Passport Pro RAID solution is powered by an integrated Thunderbolt cable for true portability and speeds as high as 233 MB/s. HighlightsOverviewSpecifications Transfer, Back Up And Edit In... Read more
Save with Best Buy’s College Student Deals
Take an additional $50 off all MacBooks and iMacs at Best Buy Online with their College Students Deals Savings, valid through November 1st. Anyone with a valid .EDU email address can take advantage... Read more

Jobs Board

*Apple* Solutions Consultant - Apple Inc. (U...
…important role that the ASC serves is that of providing an excellent Apple Customer Experience. Responsibilities include: * Promoting Apple products and solutions Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Project Manager / Business Analyst, WW *Appl...
…a senior project manager / business analyst to work within our Worldwide Apple Fulfillment Operations and the Business Process Re-engineering team. This role will work Read more
*Apple* Retail - Multiple Positions (US) - A...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.