EEE3074W: Embedded Systems
Use of ESAOA
Scope: This page described how the Embedded System Artifact Organization and Adaptation (ESAOA) framework is used in EEE3074W.
In the ESAOA framework, development activities are divided into a number of aspects, such as: experiment with possible solutions, writing logs, searching for information, and reading datasheets. Each aspect involves best practices, based largely on the literature, and tasks that involve certain artifacts in an ESAOA application framework and their associated knowledge base artifacts.
The ESAOA framework resulted from a decision made in 2004 to establish a new electrical engineering course at the undergraduate level which focuses on the development of embedded systems. EEE3074W was the course code allocated to the new course. A pilot study was used in designing the course in order to discover how students doing this course can be more independent in learning to use development tools and electronic components applied in the practical component of the course. The term development tools used here covers software programs, such as compilers, linkers, CAD programs, embedded operating systems and laboratory equipment, such as oscilloscopes and multimeters. The term electronic components refer to microcontrollers, peripherals and other circuit elements from which an embedded system is assembled. Due to the task-specific nature of embedded systems, the choice of tools and components used to construct these are often differ significantly between projects. Consequently, even professional engineers working on embedded systems often spend many hours learning how to use development tools and electronic components that they have not encountered before.
Embedded systems are becoming a popular part of electrical engineering research projects both at the fourth-year project level and in more advanced contexts, such as MSc and PhD research projects. This is true both locally and in overseas universities. Here at UCT, the use of embedded systems in research projects are not limited to the electrical engineering department: indeed, these systems are being seen in other departments such as computer science, mechanical engineering and civil engineering. At present, the engineering department is focused on supporting their own need for embedded system support. Consequently, part of the motivation of EEE3074W is to ensure computer engineering students are knowledgeable of embedded systems development methods so that they are well prepared to solve development problems in future projects, such as in fourth-year final projects. EEE3074W has been opened to computer science students, although computer science students who have not completed all the prerequisite courses for this course need to seek permission from the lecturer to register for this course (this may include a short written examination).
The emphasis in EEE3074W is not to coerce students
into learning routine procedures for using a specific choice of tools. Rather,
the course is intended to enable students to build their own engineering methods
so that they are well prepared to guide themselves in learning how to use
specialized development tools and electronic components used in constructing or
customizing an embedded system, in effect accounting for the fact that the
students are likely to work on future projects using tools and electronic
components that were not covered in the labs of this course. The main objective
of this rather elaborate strategy is to provide the students with a high quality
learning experience which will provide lasting techniques that will serve them
in future academic projects, and in a possible future career as a computer
There are benefits to both the tutorial approach and the project course approach. In terms of practical experience in this course, we chose to use a strategy which involves some aspects of laboratory tutorials and some aspects of project courses, together with guidelines for learning to use (as apposed to showing how to use) development tools. We used theories of knowledge engineering in our investigation to provide ways of classifying knowledge, and for looking at how knowledge is acquired and built upon. The ESAOA framework plays a principle part in the this strategy: the students build on the framework, both in terms of capturing development methods and maintaining implementation artifacts in a comprehensive structure.
The practicals are done in groups of two, and we advise students to choose a
lab partner who is not part of their own project group. This way, students can
have close interaction, and leverage knowledge, from outside their own project
ESAOA involves three types of distributions (i.e. files to download), these are:
Visit the directory /EEE3074W/Software to obtain distributions of ESAOA-Tools and the development tools used on forge if you want to install the same software on your own PC. At this stage, only the Linux (Debian) versions of the software are available; if you have time to find and download the equivalent Windows variants, I would appreciate if you can pass on the downloads to that I can add them to the software directory.
 Groff, T., and Jones, T. (2003) Introduction to Knowledge Management: KM in Business, Butterworth-Heinemann, Amsterdam
 Drucker, P. (2000) Leader to Leader.
 McDermott, R. (1999) Knowledge and Communities, Butterworth Heinemann. Lesser et al (Eds)., 21Ė35.