Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
ICL VME
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Application development tools== The application development tools offered with VME fall into two categories: * [[third-generation programming language]]s * [[4GL|fourth-generation]] QuickBuild toolset. The toolset on VME is unusually homogeneous, with most customers using the same core set of languages and tools. As a result, the tools are also very well integrated. Third-party tools have made relatively little impression. For many years the large majority of VME users wrote applications in [[COBOL]], usually making use of the [[IDMS]] database and the [[Transaction Processing Management System|TPMS]] [[transaction processing]] monitor. Other programming languages included [[Fortran]], [[Pascal (programming language)|Pascal]], [[ALGOL 68RS]], [[Coral 66]] and [[IBM RPG|RPG2]], but these served minority interests. Later, in the mid 1980s, compilers for C became available, both within and outside the Unix subsystem, largely to enable porting of software such as [[relational database]] systems. It is interesting that a [[PL/I]] subset compiler was written by the EEC, to assist in porting programs from IBM to ICL hardware. The compilers developed within ICL share a common architecture, and in some cases share components such as code-generators. Many of the compilers used a module named ALICE [Assembly Language Internal Common Environment] and produced an early form of precompiled code (P-Code) termed ROSE, making compiled Object Module Format (OMF) libraries loadable on any machine in the range. . ===System Programming Languages: S3 and SFL=== The primary language used for developing both the VME operating system itself and other system software such as compilers and transaction processing monitors is [[S3 (programming language)|S3]]. This is a high level language based in many ways on [[Algol 68]], but with data types and low-level functions and operators aligned closely with the architecture of the 2900 series. An [[assembly language]] SFL ('''S'''ystem '''F'''unction '''L'''anguage) is also available. This was used for the development of VME/K, whose designers were not confident that a high-level language could give adequate performance, and also for the [[IDMS]] database system on account of its origins as a third-party product. SFL was originally called '''M'''acro '''A'''ssembler '''P'''rogramming '''L'''anguag'''E''' (MAPLE), but as the 2900 architecture was being positioned as consisting of high level language machines the name was changed at the request of ICL Marketing. It had been developed as a part of the toolkit for System D, which was subsequently cancelled. Related families of assemblers for other architectures (CALM-xx running under VME, PALM-xx developed in Pascal and running on various hosts) were developed for internal use. Neither S3 nor SFL was ever promoted as a commercial development tool for end-user applications, as neither were normally delivered as a standard part of the operating system, nor were they explicitly marketed as products in their own right. Both SFL and S3 were however available as options to user organisations and third parties who had a specific need for them. ===QuickBuild=== The QuickBuild application development environment on VME has been highly successful despite the fact that applications are largely locked into the VME environment. This environment is centred on the Data Dictionary System (DDS, also called OpenDDS), an early and very successful attempt to build a comprehensive [[software repository|repository]] supporting all the other tools, with full support for the development lifecycle. As well as database schemas and file and record descriptions, the dictionary keeps track of objects such as reports and queries, screen designs, and 4GL code; it also supports a variety of models at the requirements capture level, such as [[entity-relationship]] models and process models. The QuickBuild 4GL is packaged in two forms: * ApplicationMaster for the creation of online TP applications * ReportMaster for batch reporting. Both are high-level declarative languages, using [[Jackson Structured Programming]] as their design paradigm. ApplicationMaster is unusual in its approach to application design in that it focuses on the user session as if it were running in a single conversational process, completely hiding the complexity of maintaining state across user interactions. Because the 4GL and other tools such as the screen designer work only with the DDS dictionary, which also holds the database schemas, there is considerable reuse of metadata that is rarely achieved with other 4GLs.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
ICL VME
(section)
Add topic