🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.specification.z
3 messages
3 total messages Started by Stephen Hufnagel Wed, 26 Aug 1992 14:28
Please review & comment
#66
Author: Stephen Hufnagel
Date: Wed, 26 Aug 1992 14:28
145 lines
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
#69
Author: Phill Hallam-Baker
Date: Sat, 29 Aug 1992 18:01
102 lines
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
#72
Author: Anthony Shipman
Date: Mon, 31 Aug 1992 10:25
40 lines
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