310 likes | 582 Views
OpenVMS TUD 11 oktober 2006. Agenda. IntroductionKadaster changesMaintaining freewareDIXFSHELPAUTOQuestions?. OpenVMS TUD 11 oktober 2006. Fekko Stubbe. 85-90 : Designer/developer on VAX-VMS in a hospital.90-96 : System management VAX-VMS Fokker96-now : System management VMS Kadaster . O
E N D
1. OpenVMS TUD 11 oktober 2006 Developing freeware Fekko Stubbe
Kadaster
2. OpenVMS TUD 11 oktober 2006 Agenda Introduction
Kadaster changes
Maintaining freeware
DIX
FSHELP
AUTO
Questions?
3. OpenVMS TUD 11 oktober 2006 Fekko Stubbe
85-90 : Designer/developer on VAX-VMS in a hospital.
90-96 : System management VAX-VMS Fokker
96-now : System management VMS Kadaster
4. OpenVMS TUD 11 oktober 2006 Kadaster changes 1999 : Starting point
15 sites, each with 1 triplehost VAX cluster, 1 single host VAX (all using DSSI) and one alpha server with SCSI.
2 central sites with 2 VAX-VMS clusters (dssi)
2001: Migration from Vax to Alpha via mixed clusters. Afterwards still 17 sites, with 17 Alpha servers still using DSSI.
2002: Replacement of DSSI storage by SCSI.
2003: Centralization of 17 sites to 1. Still 17 systems.
5. OpenVMS TUD 11 oktober 2006 Kadaster changes part 2 2004: Creation of new central system (GS1280) , attached to SAN disks (EVA). All users logged in central system and were (transparently) forwarded by the menu system to the correct system.
2004: Consolidation of the 17 Alpha servers to the central system (the GS1280 6 cpu)
No user downtime during production time.
6. OpenVMS TUD 11 oktober 2006 Used tooling Centralized login. Users are transparently connected to the correct system (lgi_callout).
Centralized printing. Like DQS.
Class scheduling Application/location/mode
Watchdog.
7. OpenVMS TUD 11 oktober 2006 Freeware Development since 1990.
Is also used internally (but not for production).
First on VAX.
From 2002 Vax/Alpha
From 2005 Vax/Alpha/IA64
8. OpenVMS TUD 11 oktober 2006 Why It's fun
Lets you understand VMS better
Gets you in touch with other VMS people
9. OpenVMS TUD 11 oktober 2006 Development system(s) Development on Alpha.
Alpha 800 at home
Triple architecture cluster at Ton's place.
Website for freeware http://www.oooovms.dyndns.org/ and the normal VMS freeware site
10. OpenVMS TUD 11 oktober 2006
11. OpenVMS TUD 11 oktober 2006
12. OpenVMS TUD 11 oktober 2006 Targets Development in Fortran (ABCDEF rule).
Development for all platforms.
Try to be VMS version independent
Single code stream.
Kits with all sources, exe's and objects.
Result : ZIP file of a backup saveset, so the DIX_051.ZIP contains the DIX_051.BCK saveset, that contains all sources/objects/exes for all architectures.
13. OpenVMS TUD 11 oktober 2006 Problems Alpha version 8.2, Vax 7.3, IA64 8.2-1
Fortran differences
VMS version differences
Architectural differences
14. OpenVMS TUD 11 oktober 2006 Fortran differences On VAX only F77 compiler.
On Alpha F77 and F90.
On IA64 only F90.
The F90 compiler also accepts F77 code.
So we must use F77 language for the freeware, on VAX the F77 compiler is used, on Alpha/IA64 the F90 compiler is used (with F77 code).
But, F77 has no conditional compilation.
15. OpenVMS TUD 11 oktober 2006 VMS version differences VAX on 7.3, so all later functionality is not there, so this functionality can either not be used, or must be "conditionalized"
F.e. floating point conversion routines
16. OpenVMS TUD 11 oktober 2006 Architecture differences VAX : No NAML block, no ODS-5.
VAX : No integer*8 format.
IA64: different FP format (IEEE), so f.e. the LIB$WAIT(f_float).
IA64: Completely different object/binary format (make tool).
IA64: EXTERNAL for data. Via CDEC$ attributes (not on F77 FORTRAN)
17. OpenVMS TUD 11 oktober 2006 Lib$wait example LIB$WAIT(1.0,[float_format]), default format is F_FLOAT
VAX/ALPHA generate f_float by default, so we need not specify float_format
IA64 generates S_float (IEEE), so we need to specify lib$wait(1.0,LIB$K_IEEE_S)
It is not possible to use one source for all platforms
Why not : LIB$WAIT(1.0,LIB$K_FLOAT_DEFAULT)
18. OpenVMS TUD 11 oktober 2006 Porting issues VAX to Alpha port: It was 6 years ago, but I do not recall any (major) problems.
Alpha to IA64 port.
Floating point (lib$wait)
EXTERNAL issue
Different object/exe format (make tool)
19. OpenVMS TUD 11 oktober 2006 Make tool Make tool with knowledge about platforms.
Defined symbols that can be used in make_file
Architecture : vax/alpha/ia64
Architecture_vax : not_vax/vax
Architecture_alpha : not_alpha/alpha
Architecture_ia64: not_ia64/ia64.
Rules : dix_symbol_library_'architecture_vax'.for will be expanded to dix_symbol_library_vax.for on vax and dix_symbol_library_not_vax.for on alpha/ia64
20. OpenVMS TUD 11 oktober 2006 Results DIX : Common code 24 files/55000 lines, platform specific 5 files,600 lines
FSHELP:Common code 15 files/15000 lines, platform specific 3 files/2000 lines.
AUTO, DCL auto command completion with help.
REGEDIT, a registry editor (using SMG)
21. OpenVMS TUD 11 oktober 2006 Building procedure On ton's triple architecture cluster.
Clear the whole directory tree [.DIX...]
Backup all sources to [.dix] and rename to ;1.
Submit 3 batchjobs on the 3 machines. These jobs create the objects in [.dix.'arch'] and the dix_'arch'.exe
Wait for batchjobs
Check the batchjobs for errors.
Backup the whole tree to a backup save set.
Zip the backup file=>.zip file
22. OpenVMS TUD 11 oktober 2006 Building times DIX Alpha 800/500 CPU 8:12, Elaps 8:26
Alpha DS10L/667 CPU 2:20, Elaps 2:57
Personal Alpha Cpu 1:34:00, Elaps 1:36:00
VAX 4108 40 Vups Cpu 2:41 Elaps 3:27
IA64 1620/1.3Ghz Cpu 1:29 Elaps 2:41
23. OpenVMS TUD 11 oktober 2006 Freeware DIX DIX is a record viewer/modifier.
Works in screen mode (SMG and DECW(soon in the 6.0 version)), line mode (also in batch) and dump mode.
Has record descriptions, and you can define descriptions for your own files (ala DTR).
Has a very powerful scripting language.
Has a powerful (multiple) record search
It uses RMS or internal routines emulating RMS (also for indexed file, but READONLY).
24. OpenVMS TUD 11 oktober 2006 Example raw dump/smg
25. OpenVMS TUD 11 oktober 2006 Example des dump/smg
26. OpenVMS TUD 11 oktober 2006
27. OpenVMS TUD 11 oktober 2006 DIX Record search Dix/file sysuaf 10000/field=*_bytl*/mat=ge
Dix/file filename str1 str2/disp
Dix/file filename *str1*xy*/mat=wild
Dix/file sysuaf 1000/field=*enq*/mat=le,
200/field=*fillm/mat=ge
28. OpenVMS TUD 11 oktober 2006 Freeware FSHELP FSHELP is a helpfile viewer.
But also .TLB,/.OLB/.MLB
Can use see-also's (if in the help source).
Can search through the help file(s) for a string.
Can load the help file(s) in memory (and make the searches faster)
You can add your own language (now english, dutch and fries) (you do not need a compiler).
29. OpenVMS TUD 11 oktober 2006 Example FSHELP(fshelp copy) Library:SYS$COMMON:[SYSHLP]HELPLIB.HLB;5 Line 1-14 of 14(LD)
Topic :COPY
Creates a new file from one or more existing files. The COPY
command can do the following:
o Copy an input file to an output file.
o Concatenate two or more input files into a single output file.
o Copy a group of input files to a group of output files.
Format
COPY input-filespec[,...] output-filespec
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Nr 1 of 28 help topics,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Parameters
Qualifiers
/ALLOCATION /BACKUP /BEFORE /BLOCK_SIZE /BY_OWNER
/CONCATENATE /CONFIRM /CONTIGUOUS /CREATED /EXCLUDE /EXPIRED
/EXTENSION /LOG /MODIFIED /OVERLAY /PROTECTION
30. OpenVMS TUD 11 oktober 2006 FSHELP /TEXT
31. OpenVMS TUD 11 oktober 2006 Freeware AUTO AUTO is a command line completion tool
Uses the CLD table in p1 space for parameter/qualifier and their types and values.
Also symbols, like mydel :=delete/confirm
Also cld tables in images
Interfaces to HELP for command/qual help
Symbols that translate to @xxx follow the standard syntax, but you can (re)define your own definition for the parameter(s)