a software training environment for electronic engineers using unix, modula-2 and a local area...

5
North-Holland Microprocessing and Microprogramming 24 (1988) 761-766 761 A SOFTWARE TRAINING ENVIRONMENT FOR ELECTRONIC ENGINEERS USING UNIX, MODULA-2 AND A LOCAL AREA NETWORK Michael Collier Department of Electrical Plymouth Polytechnic, Devon, PL4 8AA, U. K. and Electronic Engineering, ABSTRACT A set of three linked facilities used in Plymouth Polytechnic to integrate the software and hardware aspects of degree courses is described. The benefits and facilities of the UNIX operating system are outlined; the history and strengths of Modula-2 for engineering design are presented; and the Clearway ring network is explained. 1. ELECTRONIC ENGINEERS FOR THE NINETIES I. 1 The Challenge The next decade will demand widely experienced system designers, capable of lateral thinking. A prime requirement will be a mobility of expertise across the whole hierarchy of electronics design techniques. The integration of the discipline is therefore important if individual engineers are not become isolated specialists unable to relate or communicate outside their chosen fields. The challenge for technical education i3 obvious and formidable, and even a superf)~ial attempt to categorise the educational objectives shows the diversity of skills needed in the future. 1.2 Bloom's Taxonomy The well-known taxonomy of educational obiectives [13 indicates the variety of skills required within the three domains: cognitive, affective and psychomotor. Figure I shows a tentative link-up of the activities of a graduate engineer with Bloom's list of objectives. Bloom's Taxonomy ] Electronics Objectives ~gnitive I Testability Evaluation ~ Ha~e~acznW . -. I Softwa~ development wn~nesis ~ System level design Analysis u Nathematical techniques ~ Signalanalysis Application Logic and chi~ design Cowrehension ]nterfacing, datacom~ Knovledge Haterials, devices | ¢i~uit theomm AfFective O~anising ,~jlf ~ e c t tea# unagcMent / Ethical inelic!tions Ualuing u Design oomromses Responding I Heuristics (H,I,) i Technical updating Receiving Retraining Ps~cho#otor ~oMination - - Use of test eguipnent KeyboaN/vorkstation skills Hauipulation ~ Fabrication techniques , I Figure 1 The cognitive skills are those most readily taught and examined in engineering degree co~rses.

Upload: michael-collier

Post on 21-Jun-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A software training environment for electronic engineers using unix, modula-2 and a local area network

North-Holland Microprocessing and Microprogramming 24 (1988) 761-766 761

A SOFTWARE TRAINING ENVIRONMENT FOR ELECTRONIC ENGINEERS USING UNIX, MODULA-2 AND A LOCAL AREA NETWORK

Michael Collier

Department of Electrical Plymouth Polytechnic, Devon, PL4 8AA, U. K.

and Electronic Engineering,

ABSTRACT

A set of three linked facilities used in Plymouth Polytechnic to integrate the software and hardware aspects of degree courses is described. The benefits and facilities of the UNIX operating system are outlined; the history and strengths of Modula-2 for engineering design are presented; and the Clearway ring network is explained.

1 . ELECTRONIC ENGINEERS FOR THE NINETIES

I. 1 The Challenge

The next decade will demand widely experienced system designers, capable of lateral thinking. A prime requirement will be a mobility of expertise across the whole hierarchy of electronics design techniques. The integration of the discipline is therefore important if individual engineers are not become isolated specialists unable to relate or communicate outside their chosen fields.

The challenge for technical education i3 obvious and formidable, and even a superf)~ial attempt to categorise the educational objectives shows the diversity of skills needed in the future.

1.2 Bloom's Taxonomy

The well-known taxonomy of educational obiectives [13 indicates the variety of skills required within the three domains: cognitive, affective and psychomotor. Figure I shows a tentative link-up of the activities of a graduate engineer with Bloom's list of objectives.

Bloom's Taxonomy ] Electronics Objectives

~gnitive I Testability Evaluation ~ Ha~e~acznW . -. I Softwa~ development wn~nesis • ~ System level design Analysis u Nathematical techniques ~ Signal analysis Application Logic and chi~ design Cowrehension ]nterfacing, datacom~

Knovledge Haterials, devices | ¢i~uit theomm

AfFective O~anising ,~jlf ~ect tea# unagcMent

/ Ethical inelic!tions Ualuing u Design oomromses Responding I Heuristics (H,I,)

i Technical updating Receiving Retraining

Ps~cho#otor ~oMination - - Use of test eguipnent

KeyboaN/vorkstation skills Hauipulation ~ Fabrication techniques , I

Figure 1

The cognitive skills are those most readily taught and examined in engineering degree co~rses.

Page 2: A software training environment for electronic engineers using unix, modula-2 and a local area network

762 M. Collier/A Software Training Environment for Electronic Engineers

Affective skills relate to personal judgement and relationships. These are valued highly by industry, but not always so easily inculcated through Higher Education.

Psychomotor skills involve manual and mechanical activity, and are important in electronic engineering. Ability to measure and construct is necessary for graduate engineers, even if in later life this is left increasingly to technician staff.

2. THE SOFTWARE ELEMENT IN ELECTRONIC ENGINEERING

2. 1 The Ubiquitous Software Requirement

Within all three of Bloom's domains there appears a real requirement for proficiency in the use of software tools, whether at the operator, management or design level. Software development, system design, mathematical and signal analysis and logic design are all strongly computer based. Project management involves modelling and control, while the heuristic methods of Artificial Intelligence require advanced techniques of information ~ngineerlng. At the workstation level, familiarity with WIMP interfaces and operating system front-ends is necessary.

2.2 The Departmental Response

This need has been taken seriously in the degree courses in the Department of Electrical and Electronic Engineering at Plymouth Polytechnic. All software teaching is given by electronic engineers on a departmentally-managed computer system. Assignments have been chosen which all relate to the solution of real engineering problems [2] [3], mostly linked to topics taught in other subjects of the course. Strenuous efforts have been made to avoid the schizophrenia which divorces software and hardware techniques, thus polarising students into one or other area. Over a period of about three years, the department has moved towards a situation .in which problem specification, high-level language programming, hardware design, simulation and real-tlme testing are possible. The three linked facilities used to achieve this are described in the following sections.

3. THE UNIX OPERATING SYSTEM

3.1 Benefits of UNIX

The effective development of engineering software demands an environment which both supports and encourages creative programming. An important element in the solution of many current problems is the team approach, and to this end a multi-user operating system, providing free and secure transfer of data between users, is necessary. The department has chosen UNIX as the operating system in which undergraduates, from their first week, develop their software skills. The hardware comprises three Bleasdale UNIX computers, allocated variously between the courses and staff, while for final-year, project and postgraduate work the departmental suite of Apollo computers also supports UNIX. Some o f the benefits of the environment are shown in Fig.2, where a selection of UNIX facilities, particularly relevant to student use, is given.

[ Softvare ] ~e~qre .hier.archicelj |Oe-li.ne students1 tools ] % me swuc:un / ~ nsu,:s sneer p

\ I / , ,,..., 1 Nm-us, ] \ I / L usess.,t j |~l%i-taskingl%, \ I / / r

|envlronmnt J UNIX FACILffIES

(%"ur' ' \ t , , . , , l [lnterao~ive skills] ,,,,,o, , [ ,""'"°'l

F i g u r e 2

As well as the standard tools and utilities provided with UNIX, there is provision for programming in the Shell command language, so that powerful packages can be created for file and data handling. Two such applications in the assessment of students are described below.

Page 3: A software training environment for electronic engineers using unix, modula-2 and a local area network

M. Coflier / A Software Training Environment for Electronic Engineers 763

3.2 Automated Assessment Package

In view of the large numbers of students in the B.Eng course, a UNIX-based software package has been designed, which enables a team of lecturing staff to assess the software assignments of a class, and to feed back to students sets of comments and marks upon the various aspects of their work [4]. It will operate unsupervised ~or those features of assessment which are purely objective, while it interacts with the lecturer wherever subjective judgement is involved. The package is written in the Bourne Shell language, and is modularised to allow staff to undertake the various assessment tasks concurrently.

:3.3 Interactive Test

In adddition, an interactive UNIX test has been developed, to assess basic ability to use the command interpreter and software tools of UNIX, by requesting students to execute sequences of operations on files and strings [5]. Knowledge of the hierarchical file structure is implicitly tested by the types of activity set. The security of the test is achieved by having data-bases of arguments for the various tasks, and polling through each of these data-bases for the content of the questions. In this way each one of the 170 students receives a unique set of exercises, although the variety of activities is constant throughout the class.

block structured, high-level language

particularly suited to top-down problem solving. For the full spectrum of electronic engineering applications it did exhibit some deficiencies, since it did not permit easy access to the host machine's hardware or operating system.

Wirth specified a new language to be called Modula-2 in 1980 [6]. This used most of the syntax of Pascal, while providinN the facilities that system designers required at all levels. The three main features of the language are outlined below.

4.2 Modularity

The fact that programs can be built up in a modular form enables one to build a toolkit of software modules which can be imported into future programs with refreshing ease. This allows a student to develop particular tools, which once validated need not be reinvented in subsequent programming activities. It also means that a team can program to~ether by independently developing modules and testing them in isolation frnm the other members. Once a specification is written in the form of a Definition Module the interface objects are defined, and programming of the separate Implementation Modules can begin. The library concept also allows the teaching staff to provide ready-made modules containing such facilities as graphics and FFTs for immediate use by students.

4.3 Data Types

3.4 Submission of Algorithms

AssiRnments set in the software area demand top-down development of algorithms by stepwise refinement, and the UNIX system is the medium through which students submit their algorithms for assessment.

4. THE MODULA-2 LANGUAGE

4.1 History

In the 1970s a team under Niklaus Wirth produced the specification for the computer language Pascal, which was a

The language provides a rich set of data types, shown in Figure 3. This facilitates both the construction of complex data structures, and access to low-level facilities. Machine-dependent areas such as registers or stacks can be manipulated, and direct calls made to the operating system.

4.4 Concurrency

The language syntax provides for concurrent processes, which can be implemented either as quasi-concurrency on single-processor machines, or in full on parallel architectures. For real-time situations in the control area and for data communications applications, this feature has considerable utility.

Page 4: A software training environment for electronic engineers using unix, modula-2 and a local area network

764 114. Collier/A Software Training Environment for Electronic Engineers

Data - -

m Standard

- - s t r u c t u r e d -

- - System types

- INTEGER - LONGINT - CARDINAL --LONGCARD --REAL -- LONGREAL -BOOLEAN -- CHAR

Enumerated User detined-4--

L _ SUb - range

E ARRAY

72 + POINTER

E ADDRESS WORD BITSET

Figure 3

4.5 Towards a Design Environment

It has been argued elsewhere [7] that Modula-2 provides an engineering environment for programming across the spectrum of design skills in a way that no other language does. The stratification into high-level, system-level and assembly programming is removed, thereby increasing a designers versatility.

5. THE CLEARWAY LOCAL AREA NETWORK

5.1 The Need

Since much of the students' Modula-2 programming work, undertaken on the UNIX system, will have as its objective the operation of remote equipment, a local-area-network has been installed. This links machines throughout the department and can be used to transfer Modula-2 source programmes from the computer suite to the project and control laboratories, where the language would be recompiled on the local processors, either IBM PCs or 88000-based systems. This connection makes possible integrated projects in

J NetworY.Control] I UNIX1 I

J St~ Office

J HOD Academic

1400 Rese~ch ~:~ CLURi~IY

LOCAL ItR~ NETI/O~

I Re~earche~ ~ =

I St~Q O~;ce

Project L~ Oontrol L;b

Figure 4

UNIX 2 ]

UNIX 0 I

Star 0~¢~ I

A~OlIO Sure ]

Sem;nar Room ]

St;~ O~ce ]

Techn;c;an= 1

C~u'npus PAD I

To JANET

I

Page 5: A software training environment for electronic engineers using unix, modula-2 and a local area network

M. Collier/A Software Training Environment for Electronic Engineers 765

which all steps from problem specification to target system can be carried out by students.

The network also allows general data communication activities within the department, such as electronic mail, file transfer and terminal access to host computers. One node is connected to the campus PAD network, through which access can be gained via the Joint Academic Network to other institutions.

5.2 The Clearuay Ring

The LAN chosen for this purpose is the Clearua¥ ring, which is a register insertion type of network, providing flexibility of layout.

Nodes can be individually configured for a wide range of machines and protocols, and the configuration string for baud rate, parity and handshaking is held in EEPEOM. Thus a node, which uses a simple stereo jack into a coaxial cable, can be unplugged and moved from room to room without reconfi~uring the node itself. Each node contains its own power supply, making the system robust when individual nodes are being switched in and out.

The network has been used to connect main computers, staff offices and laboratories within the department as shown in Figure 4.

REFEEENCES

[13 Bloom, B.S., Taxonomy of Educational Obiectives Vols I and II, (David McKay, New York, 1958). [2] Collier, M., The Choice of Software Assignments for Engineering Undergraduates, Proc. Conf. on Computers in Engineering Education, (CTISS, Imperial College, July 1987.) [3] Collier, M., The Use of Robotic Simulation in the Teaching of a High-Level Language to Electronic Engineering Students, Proc. Workshop on CAL in Electronics, (Liverpool Polytechnic, April 1988). [4] Collier. M., An Assessment Package for Computer-Based Engineering Problem Solving, Proc. Conf. on Innovative Methods in Technological Education, (UNESCO, Paris, 1987). [5] Collier. M., An Interactive Test of UNIX Skills Designed to Replace a Conventional Examination, Proc Conf. on The Teaching of Electronic Engineering in De~ree Courses, (IEE, Hull, 1988). [6] Wirth, N., Programming in Modula-2, 3rd Ed, (Springer-Verlag, Berlin, 1985). [7] Collier, M. , and Sims, G., The Opportunities Presented by the Use of the Modula--2 Language in the Education of Electronic Engineers, in Aspects of Educational Technology, Vol XXII, (Kogan Page, in print).

6 . CONCLUSION

The development of these three facilities is felt to be a positive step in the provision of a total software training environment for electronic engineers. Projects and assignments can now be set whose solution involves hardware, software, or a hybrid of the two. The generation of open-ended assignments, using the concepts of both product and system design, are facilitated through the new environment.