Thread View: comp.specification.z
3 messages
3 total messages
Started by Stephen Hufnagel
Wed, 26 Aug 1992 14:28
Please review & comment
Author: Stephen Hufnagel
Date: Wed, 26 Aug 1992 14:28
Date: Wed, 26 Aug 1992 14:28
145 lines
8382 bytes
8382 bytes
FROM: Steve Hufnagel, The University of Texas at Arlington
hufnagel@cse.uta.edu
and Bud Hammons, The University of Dallas
hammons@phys.udallas.edu
TO: EmTex and Z Specification users
DATE: 26 Aug 92
SUBJ: Please review and comment
We plan to construct a LaTex/Z development environment. Attached
is a brief set of requirements. Your comments, suggestions,
and/or participation would be appreciated. Also, If you know of
existing similar components or capabilities, please let us know.
Term Project: "LaTex Turbo-Development(LTD) Environment"
SOFTWARE ENGINEERING, Part 1
Last Revised: 26 Aug 92
PROBLEM STATEMENT: LaTex is a wonderful medium for multi-person
development of large document sets. In particular, LaTex is good
to represent mathematics --i.e., Z formal specifications of
software systems. The problem is that LaTex documents can be
cumbersome to develop and "debug", compared to using MS-Word or
WordPerfect. Sometimes, a nicely formatted ASCII document from
LaTex is needed --i.e., for E-Mail. LaTex document preparation
is similar to PASCAL programming, before Borland's Turbo-Pascal
There similarly is a need for a *** SIMPLE and PORTABLE *** LaTex
"Turbo" Development (LTD) environment.
GOAL: We will construct an environment for the rapid development
of LaTex documents. This task is intended to provide ease-of-use
design-by-documentation improvements analogous to the software
development productivity improvement "Turbo PASCAL" brought to
the batch style of software program development in the late
1980s. We must duplicate the keys to Turbo-PASCAL's productivity
improvements which were context-sensitive editing,
context-sensitive debugging, context-sensitive help and rapid
detection of errors.
SCOPE: We will make use of Hufnagel's 90/10 principle: 90% of the
gain can be obtained from 10% of the work, if our goal is rapid
development by optimized-reuse-with-improvement rather than
build-it-better-ourselves. We will use existing LaTex
formatters, fonts, and final viewers.
APPROACH: The LTD editor will be optimized for the syntax and
semantics of LaTex and LaTex style files --i.e., ZED.STY and/or
OZ.STY. Its key function is to provide LaTex sensitive editing
and very easy linkage to a LaTex syntax error detector. The
error detector will provide rapid feedback when basic LaTex or
LaTex style syntactic errors (in particular scoping rule
violations --i.e., unclosed fields) are introduced into a
document. We will do a step-wise development of an ASCII-level
WYSIWYG (what you see is what you get) LaTex document development
environment. Our design goal is simplicity and optimization for
local (in particular primitive terminals and PCs) hardware
--i.e., we will check the simpler scoping rules first and later
more complicated LaTex (style) rules. The LTD environment must
be intuitive, easy-to-use, easy-to-change, and we will follow a
design-by-documentation approach. "Step-wise refinement" means
that increasing sophistication and complexity will be introduced
as time goes by ... a form of incremental delivery.
- First, we will do scenario based domain analysis.
- Next, we will do requirements analysis and rapid prototyping
of sample screens.
- NOW THE FUN PART; the LTD system will be designed and
implemented utilizing Z formal specifications, and the system
itself will support the development of Z formal
specifications.
* Oh by the way, we will make this a case study and do both
functional and object-oriented design representation,
before implementation.
- Along the way, we cannot forget the interface design
specifications and test fixtures, preparing for system
integration.
- The easy part will be Ada implementation, because Ada is
intended to provide multi-platform capability and the
pragmatics that Ada must be taught. It should be easy because
we will have a well designed and well specified system (famous
well repeated words!).
- Finally, verification & validation testing will be done by
making the LTD publically available (FTP site).
- Throughout, this will be a team project which must have
multi-developer multi-version configuration management.
The LTD environment will contain:
1. Main User Interface (Shell)
2. Setup Task: Ease-of-change, using an ASCII control file
(*.INI) for all tasks:
- standard LaTex syntax
- ZED.STY syntax
- local display mapping of non-printable fonts.
- edit to local keyboard mapping
- OTHER???
3. Simple (half) Screen LaTex-Sensitive Editor (Can EMACS be
adapted to this task?)
4. On-Line LaTex-sensitive help
5. CheckTex: LaTex basic block structure and syntax checker,
linked to context-sensitive editor and half screen viewer.
6. PrettyTex: Raw LaTex pretty printer (indentation based on
scoping)
7. DrafTex: simple LaTex ASCII formatter. It does not implement
complex LaTex features --i.e., multi-column, varying fonts.
But, it will ASCII justify, itemize, enumerate, number
chapters and section, etc. (similar to the draft mode of
SCRIBE!)
8. (half screen) LaTex draft (ASCII) previewer, with following
versions
- VT-100 terminal
- IBM-PC
- X-Windows
- MS-Windows
- Mac ???
- OS2 ??? (this may be done)
9. once all detectable errors are removed, link to:
- Z cross reference mapper from Summer 92 software
engineering class.
- Z type checker --i.e, FUZZ
- full blown LaTex formatter --i.e., EmTex.
- a full LaTex viewer, if an appropriate display is
available.
10. OTHER: We must have overlooked something?
BACKGROUND: (for those in the dark about what is going on here)
Tex and LaTex are document preparation systems that were
developed by David Knuth and Leslie Lamport respectively for the
American Mathematical Society. Publication quality documents can
be produced, using any editor on any terminal or computer. Tex
is like assembly language. It provides a powerful but "low level
of control", while LaTex is built on Tex and provides high level
abstract command environments, such as chapter, section, or
paragraph. The goal of LaTex is to be easy-to-use so as to let
you focus on the technical writing rather than the formatting.
Z is a formal specification notation. Z, based on set theory and
first order predicate logic, has been developed at the
Programming Research Group (PRG) at the Oxford University
Computing Laboratory and elsewhere for well over a decade. It is
now used by industry as part of the software (and hardware)
development process in both the UK and the US. It is currently
undergoing BSI standardization in the UK.
Re: Please review & comment
Author: Phill Hallam-Baker
Date: Sat, 29 Aug 1992 18:01
Date: Sat, 29 Aug 1992 18:01
102 lines
5005 bytes
5005 bytes
In article <9208261428.AA20587@cse.uta.edu>, hufnagel@cse.uta.edu (Stephen Hufnagel) writes: |> We plan to construct a LaTex/Z development environment. Attached |> is a brief set of requirements. Your comments, suggestions, |> and/or participation would be appreciated. Also, If you know of |> existing similar components or capabilities, please let us know. |> APPROACH: The LTD editor will be optimized for the syntax and |> semantics of LaTex and LaTex style files --i.e., ZED.STY and/or |> OZ.STY. Its key function is to provide LaTex sensitive editing |> and very easy linkage to a LaTex syntax error detector. 1. Ltd is an abreviation for Limited in the UK. 2. Might be fine for folks who only do Z. Most other folks will want to have *ALL* the features of their existing editor. Extending an extensible editor like emacs or TPU is the way to go. | |> 3. Simple (half) Screen LaTex-Sensitive Editor (Can EMACS be |> adapted to this task?) Yes emacs *CAN* but LSE on VAX would be easier because it already has been designed to be extensible. I would advise starting by getting a VAX and hacking up something in LSE, that should take you no more than a month to produce a first rate usable product, Then you can start to think about porting it to emacs. BTW this is not a bash at emacs, emacs just isn't set up quite as nicely in this regard as LSE which has a custom language for the task rather than force you to use LISP. Once you have your working version you then implement it in emacs by extending emacs to support the LSE extensions. This is a quite well defined task and should not be onerous. |> 4. On-Line LaTex-sensitive help Use that built into the editor. |> 5. CheckTex: LaTex basic block structure and syntax checker, A PD one would be nice. If you want to go comercial with it I think Mike will eat you for lunch, fuzz is a pretty neat piece of kit and I don't think that you will make too much by undercutting him. Mind you Mike dosen't support VAX at the mo which I would like but... |> linked to context-sensitive editor and half screen viewer. No! don't link the products, make them cooperate but don't force people to use all of them or none, that is the mistake inmos made with TDS (Tedious). |> 6. PrettyTex: Raw LaTex pretty printer (indentation based on |> scoping) |> 7. DrafTex: simple LaTex ASCII formatter. It does not implement |> complex LaTex features --i.e., multi-column, varying fonts. |> But, it will ASCII justify, itemize, enumerate, number |> chapters and section, etc. (similar to the draft mode of |> SCRIBE!) These would be no real use for folks with workstations, do enough people with VT100s use Z to justify the effort? |> 8. (half screen) LaTex draft (ASCII) previewer, with following |> versions |> - VT-100 terminal |> - IBM-PC |> - X-Windows |> - MS-Windows |> - Mac ??? |> - OS2 ??? (this may be done) Look in the TeX newsgroup, they probably have one. Forget OS2, thats dead. Windows NT instalations will outnumber it within a week of release. There are plenty of nice xwindows viewers for dvi. XDVI is in the current DECUS release and I presume most others. |> 9. once all detectable errors are removed, link to: |> - Z cross reference mapper from Summer 92 software |> engineering class. |> - Z type checker --i.e, FUZZ |> - full blown LaTex formatter --i.e., EmTex. |> - a full LaTex viewer, if an appropriate display is |> available. Linkiing to products is the operationg system's job. If you do it badly then you stop others from doing it properly. Integrated environments are great on toy town machines which don't have windows, how many of them do you think people will be using by the time you get your product working. More tools is always a good thing but most professional programmers have already built up an integrated environment of their own, you have to be prepared to let your tools be used within someone else's system, not force them to replace it. -- Phill Hallam-Baker
Re: Please review & comment
Author: Anthony Shipman
Date: Mon, 31 Aug 1992 10:25
Date: Mon, 31 Aug 1992 10:25
40 lines
2341 bytes
2341 bytes
hallam@zeus02.desy.de (Phill Hallam-Baker) writes: >In article <9208261428.AA20587@cse.uta.edu>, hufnagel@cse.uta.edu (Stephen >Hufnagel) writes: >|> We plan to construct a LaTex/Z development environment. Attached >|> is a brief set of requirements. Your comments, suggestions, >|> and/or participation would be appreciated. Also, If you know of >|> existing similar components or capabilities, please let us know. >|> APPROACH: The LTD editor will be optimized for the syntax and >|> semantics of LaTex and LaTex style files --i.e., ZED.STY and/or >|> OZ.STY. Its key function is to provide LaTex sensitive editing An idea I have been toying with which is half-way to what you propose is a more general purpose X "macro" tool. This tool can store a database of fragments of whatever text you like, organised and accessed using GUI-navigation or keyword search. Once a fragment is selected the tool will then type it into another xterm window on your screen. Context-sensitive help can be associated with each stored fragment. For LaTeX the database would have a collection of commonly used forms such as lists and tables. It could have a complete menu of LaTeX and TeX commands on-line. You could then extend this with a ZED or OZ module. Pros: It is a separate tool that can be reused for other jobs. It is simpler. Cons: It is not the fully-integrated super-duper system that you are contemplating. PCs tend to large integrated (ie closed) systems because they have no alternative tool infrastructure or culture. I would prefer a cluster of tools. -- Anthony Shipman "You've got to be taught before it's too late, CP Software Export Pty Ltd, Before you are six or seven or eight, 19 Cato St., East Hawthorn, To hate all the people your relatives hate, Melbourne, Australia, 3121 You've got to be carefully taught." R&H
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads