May 89 Letters
By David E. Smith, Editor & Publisher, MacTutor
Aranda Revolutionizes Software Development
David E. Smith
Editor & Publisher
The microelectronics industry uses CAD software to develop complex ICs automatically through software. Now, thanks to a new software development utility called Aranda, software development will benefit from the same type of design automation that IC designers have enjoyed for several years.
Aranda is a compiler specific utility that opens and reads computer source code text files, parses the language syntax and builds an interactive symbolic flow chart representation that is linked by hypertext to the original program listing. Edit changes to either the graphical flow chart representation or the source code itself results in the other representation being updated automatically. Code can be cut and pasted in symbolic form, detail hidden or expanded, call links between modules called out and many other design tools used to facilitate and automate the software design process. But the important feature any programmer will love is that finally, software documentation and flow charts can be created after the fact and linked dynamically to the code so that the documentation and the code stay up to date at all times. Have a strange program you dont understand or didnt write, but are required to maintain or upgrade? No problem! Just run it through Aranda and the entire program structure, design and variables will be extracted and symbolically and graphically represented. The authors ran the entire MacApp source code through Aranda and out came a giant flow chart of the entire MacApp module tree in just a few seconds! Aranda can be used in a top-down software design environment from the beginning of the design cycle, as an expert system editor, or in bottoms-up redesign to extract the program structure and facilitate upgrades and maintenance of programs already written. Modules can be documented by appending interactive notes to the source code or equivalent flow charts, and the notes travel with the modules as they are cut and pasted into new programs. Now the dreary process of documenting and specifying the software design is automated and extracted from the source code itself, leaving the programmer free to do the fun stuff: writing code, not documentation.
Aranda is a product of Soft-SET Technologies of Vancouver in Canada and benefits from University work that allows the authors to generate new parsing engines for different compilers in a matter of days. MPW Pascal, Lightspeed Pascal and C versions are going into beta site testing now with Cobol, PL1 and C++ versions to follow. Pricing and product availability have not yet been finalized, but people who should know inside Apple are already drooling over the prospect of beta testing this product, something Apple normally never does for third party software. For more information, contact Bill Campbell at (604) 734-1622 or AppleLink CDA 0380. MacTutor will be using this product as it becomes available, and we will have much more on this when we see the beta version, which should be shorty after Apples Developer Conference, where Aranda will be introduced for the first time.
More Math Libraries
Im writing in response to T. Koyas request for information on Fortran math libraries in the February issue. The source code to all the routines in Numerical Recipes: The Art of Scientific Computing (Press, et al.) is available on Mac disks from Cambridge University Press, Order Dept., 510 North Avenue, New Rochelle, NY 10801 for $39.95. The book, which has to be purchased separately of course, explains the routines and contains references to other work. Youd probably need the book to use the routines, but its a valuable (700+ pages) reference anyway. The source code is available in Fortran, Pascal, and C. The C version has its own book and follows the quirks of the authors, who dont like C very much for scientific computing. You need to specify that you want the Mac disks. The code should compile with any compiler.
More on Numerical Library
C. H. Friend
Watford, Herts, England
I assume the inquiry from Tatsuhito Koya in the MacTutor February 1989 Letters refers to replacements for the routines commonly supplied with most mainframe systems for performing mathematical tasks and special functions (usually NAG in the U.K.). Such a library is available in source code form as Numerical Recipes from Cambridge University Press.
Now that it is possible to get disks of these books in Macintosh format, heres a summary:
Numerical Recipes is a practical reference and textbook for anyone doing numerical analysis. The authors provide the techniques and programs needed, also advice on which methods should be used for solving problems, with practical emphasis on proven algorithms.
The reader is assumed to be mathematically literate and familiar with one of the languages used, but no prior experience with numerical analysis is required.
Numerical Recipes - the original in Fortran, with Pascal source in an appendix. Disks for either language available separately.
Numerical Recipes in C - the follow up to the above. Exactly the same coverage, with C source code. Disks of the book available.
Chapters in the books:
1) Programming style, conventions, accuracy.
2) Linear equations.
3) Interpolation and extrapolation.
4) Integration of functions.
5) Evaluation of functions.
6) Special functions (Bessel, probability, etc.).
7) Random numbers.
9) Root finding and nonlinear equations.
10) Minimization or maximization of functions.
12) Fourier transform spectral methods.
13) Statistical description of data.
14) Modeling of data.
15) Integration of ordinary differential equations.
16) Two-point boundary value problems.
17) Partial differential equations.
The original book was written in Fortran, with Pascal source as an appendix. The translation was done by machine, so some of the code might look odd to the experienced Pascal programmers. A project to improve this is under way, and should result in a separate Pascal edition later. Fortran source is F77 standard. Pascal is ISO standard, though the Mac disks have been altered slightly to declare longint where it matters and to show include files. If your Pascal uses units, the routines will all have to be amended accordingly, but this is not difficult.
The versions in the C book are a complete rewrite, and the introductory chapter includes some helpful discussion of C programming for numerical purposes. The C disks are in MSDOS format only, a Mac version is not currently listed.
There is also a parallel set of books and disks titled Numerical Recipes Examples which contain short demonstration programs and some data files showing the use of these routines. These are quite useful for testing compilers, etc.
Numerical Recipes - The Art of Scientific Programming: W. Press, B.P. Flannery, S. Teukolsky, W.T. Vetterling, Cambridge University Press 1986. 0-521-30811-9 818pp.
Numerical Recipes in C: W. Press, B.P. Flannery, S. Teukolsky, W.T. Vetterling, Cambridge University Press 1988. 0-521-35465-X 768pp.
Numerical Recipes Example Books: in UCSD-Pascal, 0-521-30956-5; Fortran-77, 0-521-31330-9; or C, 0-521-35746-2
0-521-35466-8 (C) 5.25 in. MSDOS.
0-521-35501-X (Pascal) 3.5 in. Macintosh.
0-521-35469-2 (Fortran-77) 3.5 in. Macintosh.
0-521-35467-6 (C) 5.25 in. MSDOS.
0-521-35502-8 (Pascal) 3.5 in. Macintosh.
0-521-35468-4 (Fortran-77) 3.5 in. Macintosh.
[Well, there seems to be enough information to get a handle on some math libraries. A special thanks to our readers who are always on top of things. -ed]
Adam W. Hunger
New York, NY
I have searched the three volume set of Best of MacTutor for the source code to the desk accessory ColorImage. This desk accessory simply displays pict files. Author: Steve Sheets. I have looked for the downloadable source code on your bulletin board without success. Any leads would be much appreciated.
[A quick glance in our MacTutor index revealed it to be in Volume 4, Number 2, page 52 for both the DA and the FKEY. You may also find the article on page 295 in The Definitive MacTutor, Vol. 4. The source code is available on disk #29. Currently, we have not as yet placed our source code on the Mousehole (now run by Larry Nedry at 408-738-5791). The Mousehole is not our bulletin board, but we publish a report from the developers board. We are looking into possibly including the source code there.-ed]
Im attempting to write a communication application using MacBinary, but Ive been unable to find any documentation on the MacBinary II protocol. I realize its probably there just waiting for me on GEnie or Compuserve, but for reasons I wont go into, I cant get it from any of those sources; I need it to be on disk or the printed page. If anyone feels like helping, contact me at the following address, and Ill be glad to reimburse you for any trouble. The address:
DS3 Stricklin, USN
CSTSC Box 1472
Mare Island Naval Station
Vallejo, CA 94592-5050
[Unfortunately, there is nothing on paper in the MacTutor office on MacBinary II protocol. You can find it on the Mousehole, though. -ed]
Open Letter to John Sculley
B. Mitchell Loebel
Im concerned about a number of insensitivities demonstrated by Apple towards its customer and developer base. Rumor is starting to travel that the demise of the MacPlus is imminent. My first reaction and that of a number of my colleagues is that the rest of us are being dumped as Apple opts to chase higher profit margins. As a result of my phone conversation with the editor of MacTutor today, I have a better understanding of the technological need to have the SE be the base model inasmuch as it provides an upgrade path to the 030. I think, though, that the price of that base had better drop significantly from its current bottom of $2200! And I resent having to hear about Apples plans from the grapevine!
Apples appalling lack of customer support is well known. Problems and questions are shunted over to dealers who are usually not technically competent. Fortunately, Im a very computer literate engineer so I expect to be able to repair my machine myself when it goes down.
Ive had my machine for about a year and half, and Ive spent the last year plus climbing the learning hill towards hardware and software developer competence. Im forever distressed to see how distant Apple is from the rest of us! I remind you that Macers are a sophisticated group; many of us were pioneers in the micro business (some of us even go further back). Apple derived from the rest of us; unless we get some better consideration, I think you will see a revolt not unlike IBMs situation with OS2. I, for one, will jump ship and consider Amiga, or (God forbid) IBM before Ill be dragged up to a $10,000 Mac II!!
This is not simply a theoretical issue, John; neither I nor my company will buy any machine from Apple until you show us some more of your plans. And we need to buy soon. [Rumor has it that version 7 will have 32-bit quickdraw, and be multi-tasking in a way that requires the 030 chip's memory management, and that desk accessories are going away. In hardware, we have the SE 30, the Mac IIx, and the Mac IICX, all 030 based, and that the current SE and Mac II both will have upgrade paths in April to the 030 based equivalent. The final two holes in the product line will be filled out by the portable Mac in the fall and a low end entry level Mac. Will both of those machines also be 030 based? They better be! Rumor also has it that the SE is cheaper to build than the Mac Plus, so how is Apple going to make a cheap Mac? I don't know. I'm not sure they know! -Ed]
National Instruments Corporation is hosting its first annual user conference for VARs, OEMs, distributors, and end-user customers involved with or interested in the companys complete line of instrument control and data acquisition hardware and software products. User Symposium/89 will feature key speakers from prominent computer and instrumentation companies as well as distinguished industry experts to lead panel discussions and technical sessions. Advanced training tutorials and product exhibits will be provided by national Instruments and several third-party vendors. User Symposium/89 will be held May 14 - 16, 1989 in Austin, Texas.
For more information on the conference schedule, session topics, or registration, please contact Janet Hill at National Instruments Corporation, 12109 Technology Blvd., Austin, TX 78727-6204, (512) 794-0100. Or, call (800) IEEE-488. Telex: 756737 NAT INST AUS. Fax: (512) 250-9319