South African Computer Journal - Volume 2008, Issue 41, 2008
Volumes & issues
Volume 2008, Issue 41, 2008
Author Stefan GrunerSource: South African Computer Journal 2008 (2008)More Less
This year 2008 has not only seen the 40th anniversary of Software Engineering as an academic and professional discipline and the 50th anniversary of the programming language LISP. It has also seen the 60th birthday of our teacher, colleague and friend Derrick G. Kourie who is well-known not only to the readers of this journal.
Author Andrew BoakeSource: South African Computer Journal 2008, pp 2 –12 (2008)More Less
The value of architecture in a corporate information technology environment lies in providing clear guidance on technology choice and system design. Underpinning this is the ability of the architecture team to research the relevant architectural domains well, to formulate informed strategies, to document these explicitly, and to guide projects in their application. To do this, architects must make decisions between competing directions, including difficult trade-offs in their application. These decisions are often based solely on experience, gut-feel, even bias. They are typically arrived at using implicit reasoning such as rules of thumb, and are often poorly articulated. This results in generally poor corporate technology decision-making, and in unclearly documented architectural direction. This paper investigates what can be done to improve this decision-making. It positions architectural decision-making as an exercise in balancing design forces, and the role of solution architect as facilitator between the representative stakeholders. We describe an experience in building a team which has followed this approach in a particular corporate environment, and document the lessons learnt. This paper is written in honour of Derrick G. Kourie at the occasion of his 60th birthday.
Source: South African Computer Journal 2008, pp 13 –20 (2008)More Less
The keyword pattern matching problem has been frequently studied, and many different algorithms for solving it have been suggested. Watson and Zwaan in the early 1990s derived a set of well-known solutions from a common starting point, leading to a taxonomy of such algorithms. Their taxonomy allowed one to easily compare the different algorithms, and to easily implement them in a taxonomy-based toolkit. The taxonomy and toolkit did not include a variant of the Boyer-Moore algorithm developed by Horspool. In this paper, we present the Boyer-Moore-Horspool algorithm and its multiple keyword generalization in the context of the taxonomy.
On the probability of a false positive match for digital camera identification based on sensor dirt location : festschrift : dedicated to Derrick KourieAuthor Martin S. OlivierSource: South African Computer Journal 2008, pp 21 –28 (2008)More Less
Dirt particles on a digital camera's sensor may leave marks on images taken by the camera. These marks may be used to identify the camera used to take the picture. Our earlier work empirically determined the effects that various camera parameters (such as lens focal length and image compression) have on the position and appearance of such marks. The earlier paper suggested that a grid should be overlaid on the images to be compared. This paper analytically determines the minimum number of marks that should coincide in a test shot taken by the camera and the picture that needs to be linked to the camera. The minimum number of cells depend on the dimensions of the overlaid grid, and the statistical significance with which the match need to be made.
Reflections on coding standards in tertiary Computer Science education : festschrift : dedicated to Derrick KourieAuthor Vreda PieterseSource: South African Computer Journal 2008, pp 29 –37 (2008)More Less
Despite general agreement among practitioners and educators alike that the application of solid uniform coding guidelines is beneficial, the application of coding standards in computer science education seems to be problematic. Interpretive research was applied to arrive at an understanding of the attitude of leturers towards coding standards. Five aspects of coding guidelines were identified through reasoning about proposed categorisation of coding guidelines found in the literature. The viewpoints of the interviewed lecturers are discussed in terms of these aspects. Recommendations are made regarding the teaching of good programming practices in higher education.
Author Dewald RoodeSource: South African Computer Journal 2008, pp 38 –42 (2008)More Less
The purpose of this paper is to highlight certain shortcomings in the way many researchers in ICT undertake their research. The approach taken is based on ethics - specifically, deontological ethics. Using this as a basis, it is argued that many researchers behave unethically, and it is shown what it means to be an ethical researcher. The paper aims to make a contribution to the field of ICT research by sensitising researchers about the shortcomings in their approach to research.
Architecting an open system for querying large C and C++ code bases : festschrift : dedicated to Derrick KourieSource: South African Computer Journal 2008, pp 43 –56 (2008)More Less
Static code analysis offers a number of tools for the assessment of complexity, maintainability, modularity and safety of industry-size source code bases. Typically, such scenarios include three main phases. First, the code is parsed and 'raw' data is extracted and saved, such as syntax trees, possibly annotated with semantic (type) information. In the second phase, the raw data is queried to check the presence or absence of specific code patterns which supports or invalidates specific claims on the code. In the third and last phase, the query results are presented (visualized) such that correlations between code structure and query results are emphasized in an easily understandable way. Whereas parsing source code is largely standardized, using several existing parsers, querying the outputs of such parsers is still a complex task. The main problem resides in the difficulty of easily translating high-level, cross-cutting concerns in the problem domain into queries in the raw data domain. We present here an open framework for constructing and executing queries on industry-size C++ code bases. Our query system adds several so-called query primitives atop a exible C++ parser, offers options to combine these primitives into arbitrarily complex expressions, has a highly efficient way to evaluate such expressions on syntax trees of millions of nodes, and presents the query results in a visual, compact, intuitive way. We demonstrate our query framework, integratd in the SolidFX C++ reverse-engineering environment, with several real-world analyses on industrial codebases.
Random generation of unary finite automata over the domain of the regular languages : festschrift : dedicated to Derrick KourieSource: South African Computer Journal 2008, pp 57 –63 (2008)More Less
We show that the standard methods for the random generation of finite automata are inadequate if considered over the domain of the regular languages, for finite automata with a small number of states. We then present a consolidated, practical method for the random generation of unary finite automata over the domain of the regular languages.
Source: South African Computer Journal 2008, pp 64 –74 (2008)More Less
The aim of this research was to investigate impediments to success (in terms of pass marks) in an information systems degree programme. A programme at a South African university was used as the basis for investigation. A mixed method research approach was employed whereby semi-structured interviews were carried out with 14 students and 2 staff members, in addition to a quantitative survey amongst a larger group of learners. In this paper we report on findings derived from the qualitative data. This data was analysed using coding techniques taken from the grounded theory methodology. The end result was a framework showing that the major impediments related to the students (1) environmental context, (2) approach to academic work, (3) prior programming experience, (4) communication skills and (5) teamwork difficulties. The implications of these findings are discussed.
Source: South African Computer Journal 2008, pp 75 –85 (2008)More Less
Information and Communication Technology (ICT) is perceived by many as a means of tackling the problem of social exclusion. This perspective has resulted in governments and donor agencies investing in the establishment of Internet access points (e.g. telecentres) in areas which are perceived to be socially excluded. Yet, beyond the belief of inherently beneficial ICTs, there has been little empirical work done to evaluate the impact of ICTs, notably the Internet, in addressing social exclusion. In this paper, we report on a study investigating whether the Internet contributes to alleviating social exclusion in developing countries. The cross-sectional study uses a qualitative research approach on four communities with government-funded Internet access points in the Western Cape Province, South Africa. The major finding of the paper is that the Internet plays a minimal role in alleviating social exclusion, and only a few members of the communities stand to benefit. The Internet on its own is not sufficient to address the problems of social exclusion; there are necessary preconditions which should be in place for the Internet to have an impact.
Source: South African Computer Journal 2008, pp 86 –95 (2008)More Less
This paper presents a preliminary study of the design of a software-based tool that models PLC (Programmable Logic Controller) characteristics for automatic dimensioning and allocation in process control. The automation of an industrial process is invariably faced with the decision of the optimal resources for implementation. Therefore, it is important to find a way of selecting the most efficient programmable logic controller that is suitable to facilitate a particular control process. Variables such as the number of inputs or outputs, program memory size, data memory size, auxiliary memory, timers, and counters have to be given the requisite consideration. The undertaken method considers the use of ladder diagrams and XML representation in the process of modeling PLC characteristics which are organized in form of a database. Criteria for PLC selection are used to provide a list of PLCs or embedded controllers that best fits the control process envisioned. This approach can be used as a decision making tool by machine design companies, small manufacturing companies, and consultant engineers faced with the correct choice of PLCs to be deployed in a particular control project.