Maestro II

from Wikipedia, the free encyclopedia

Maestro II , a product from Softlab GmbH, Munich (later: Cirquent , today: NTT Data ), is a comprehensive system for optimizing the process of professional software creation and maintenance with a special focus on supporting teamwork.

prehistory

As the production of the basic machines for Maestro I , Philips X1150, ended and the provision of spare parts became increasingly problematic, Softlab decided in 1989 to completely reimplement it on the basis of the hardware and software technology that has since been further developed. Again it was Harald Wieler who created the prototype and set the essential milestones for this new development. This prototype had implemented a multi-window multitasking technique long before Microsoft Windows 3.0 was released .

architecture

It is a client / server architecture , whereby several PCs are connected to several servers via Ethernet (Fig. 1).

Maestro-II-Architektur.jpg

Fig. 1: Maestro II as client / server architecture

The servers have a Unix operating system , with the dialects Ultrix , AIX , HP-UX and Xenix being supported. They serve as central data storage in the form of simple files that are made available to clients via the Maestro-Net-File-Server-Daemon ("MNFSD"). In addition, a kind of entity relationship database system, the Object Management System ("OMS"), has been implemented, which serves as a repository for the projects.

When clients are IBM-compatible PCs from processor Intel 80286 with operating system MS-DOS version 3.2, Unix , OS / 2 or Microsoft Windows from version 3.0 (also used with all Windows intermediate versions to this Windows 10 and with today's PC Architectures is the client software compatible). On the basis of one of these operating systems, a single EXE program (the “Maestro II Workstation” MWS.EXE) is called up, which in turn executes the “tasks” that are presented to the user like independent programs (usually each with its own window). Interruptions to certain commands (e.g. waiting for keyboard input) ensure that all tasks appear to be processed in parallel.

A separate procedure language "Prolan2" was created for programming the "tasks". The Prolan2 compiler, implemented in Prolan2 itself, creates a platform-neutral intermediate code from the source code, which is then interpreted by MWS.EXE at runtime (see: Java technology ).

Project development methods

A number of methods are supported:

  • Merise
  • Yourdan
  • SSADM
  • SAISD
  • SeTec (Softlab's own method)

The method support includes the creation of the mandatory documents and graphics.

Tools

Maestro II supports all phases of the software development lifecycle with a range of CASE tools and optimizes project management within the team. Project documents can be stored, processed and procedurally searched in a prefabricated structure of a "Project Content Management System" (PCMS) in the OMS.

A simple graphics editor (GED) helps in the early project phases when creating sketches, e.g. B. the data model.

The layout design tool (LDT) is provided to create the forms for the target system (e.g. CICS or IMS ).

The "Construction Team Workstation" (CTW) was created for the rational creation of the programs of a project in the most common mainframe target languages ​​( COBOL , PL / 1 ).

Remote job entry and terminal emulation (e.g. for IBM 3270 , Siemens 9750, Unix VT220) create the necessary access to the target computer in order to translate, link and test the source programs created under Maestro II.

For the most common target languages ​​( COBOL , PL / 1 ), the "Maintenance Team Workstation" (MTW) ​​answers the question about the side effects of a planned change in the data structures, which is crucial for software creation and maintenance.

Since Maestro II was used by Softlab itself to process customer projects, extensive extensions such as the in-house compilable specification language LSD or process chains (clickable graphics that illustrate and automate the development process) were also created in this context .

Interfaces to 3rd party tools are also available, e.g. B. PDT (Program Design Tool) and SDT (database-based Program Structure Definition Tool) from ITP.

Text editor

The text editor deserves special mention as it optimally covers the needs of program development. The text files can be located on the client as well as on the server. If they are on the server, they can be opened for writing on one client and read access on any number of clients at the same time. Every change is immediately written back when a line of text is exited (or when the text window is deactivated) and is visible to the other team members. These properties were already present in a similar form under Maestro I.

The character set was consciously implemented with characters of the same width. This allows the marking of parts of the text

  • as whole lines (Fig. 2)
  • as running text (Fig. 3)
  • as a rectangular block (Fig. 4)

with corresponding context-dependent selectable actions (e.g. relocate, fill, frame or add up all the numbers contained).

Mark Maestro II lines.jpg

Fig. 2: Mark entire lines and the corresponding popup menu in this context

Mark Maestro II running text.jpg

Fig. 3: Mark running text and the appropriate popup menu in this context

Mark Maestro II block.jpg

Fig. 4: Mark the rectangular block and the appropriate popup menu in this context

The text editor of the Maestro II is implemented in Prolan2 and can be largely adapted to the special needs of target programming languages ​​using its own type definitions, layouts and procedures.

However, this text editor is less suitable for correspondence, as it only supports a very limited number of attributes. There are enough tools from Microsoft (e.g. Word , WordPad ) and other manufacturers for this application area . Maestro II text files can be converted into Rich Text Format using the RTF converter, which can be purchased from the manufacturer (or its successor, NTT Data ).

languages

The clients of the Maestro II are available in English, German and Japanese, whereby the switchover can be made during operation.

Limits

Maestro II has been optimized for the development of systems for mainframes. This means that some limitations have been accepted that have an unfavorable influence on the development of programs for future devices such as smartphones.

Examples of such limits are:

  • maximum length of lines in text files (250 characters)
  • maximum number of lines in text files (65535 lines)
  • maximum size of files (64 MiB)
  • maximum key length for files with a B * tree (250 characters)
  • maximum length of names in the OMS (32 characters)
  • maximum length of procedure names (12 characters)
  • maximum length of procedure calls including parameters (250 characters)
  • Maximum memory requirement of a procedure including variables (64 KiB).

Architecture comparison Maestro II with Maestro I

The virtual machine of Maestro I is the text editor itself. This can also be used to write procedures with which the actual useful work can be rationalized.

Maestro II, on the other hand, is a procedure interpreter, and the text editor is a procedure (more precisely a large number of interdependent procedures) like many others.

In a Maestro I session, up to 10 files can be open at the same time, but only one file can be opened for writing at a time. However, at most one of these files is visible on the screen at a time. The other files occupy so-called cameras and can be brought to the foreground using a key in the numeric keypad .

In Maestro II, any number of windows can be visible on the screen at the same time, whereby, similar to Microsoft Windows , only one can be "active" at a time (ie that is also the recipient of the keyboard input), and only one can be the top one Window ("top") (this is usually, but not necessarily, the active window). The window behavior is similar to that under Microsoft Windows.

The procedural language of Maestro I essentially consists of sequences of named keys that can be surrounded by structuring means (brackets and IF-THEN-ELSE) or loops (with counter and abort option). The number of variables available is very limited. A procedure is called via the procedure input line, which is to be made available via a separate key, in which both the name of the procedure and the parameters can be entered. Procedures can call sub-procedures by writing names and parameters in the procedure input line and submitting them, and waiting until this sub-procedure has been processed.

The procedure language of Maestro II, called Prolan2, looks outwardly similar to C and other modern programming languages ​​and has pointers both for the “task-internal” memory area and for external segments. If a procedure is started, it is processed as a "task" by the Maestro II kernel . A Maestro II procedure is usually divided into up to 255 rules. Overall, including the memory for the variables , a task can be 64 KiB in size. An essential characteristic of Prolan2 is the rule-based parsing of character strings . When a procedure is started, it is processed as a task by the Maestro II kernel. Maestro II procedures can be started from the command window, from a menu item or from a higher-level task. Tasks can call procedures as subroutines , whereby they have the option of waiting for their completion (CALL '<procedure name>') or to continue working in parallel (START '<procedure name>').

Individual evidence

  1. Harald Wieler