1 / 31

Developing freeware

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

toni
Download Presentation

Developing freeware

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    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)

More Related