MONASH UNIVERSITY FACULTY HANDBOOKS

Computing & Information Technology Handbook 1996

Published by Monash University
Clayton, Victoria 3168, Australia

Caution Copyright © Monash University 1996
ISBN 1320-6222

Authorised by Academic Registrar, April 1996


DEPARTMENT INFORMATIONPart 4


Department of Software Development

Profile of the department

The department's mission is internationally recognised excellence and leadership in software engineering education and research, with a focus on intelligent distributed objects.

Programming and software technology subjects have been offered by the department since the early 1980s and the programming courses date back to 1969 when Caulfield offered Australia's first commercial computing degree.

The department can now focus entirely on software engineering issues. Its first-semester undergraduate courses have about 350 new students each year. Higher degree courses are provided for practitioners and academics.

The department is recognised throughout Australia for its dedication to object-oriented software engineering, a rapidly expanding area of software development skills, methods and tools - of high relevance in industry, government and academia.

Teaching

The department seeks to provide courses and student supervision of the highest quality, to undergraduate, postgraduate and professional audiences. It seeks to offer its courses in a variety of ways including on-campus, off-campus and by distance teaching. The department's staff view students as their valued customers, and seek to make courses and student contacts attractive and advanced.

The department contributes in substantial ways to the following courses offered by the faculty:

+ Bachelor of Computing, particularly with a major in software development

+ Graduate Diploma in Computing

+ Graduate Diploma in Information Technology

+ Master of Computing by coursework

+ Master of Computing by research

+ Doctor of Philosophy (PhD).

Research

The department's researchers and scholars seek to advance the state of the art, knowledge and understanding of the discipline with a strong focus on application and practice; to develop cooperative and synergetic research arrangements and teams with academia, industry and government; and to foster educational and research links, nationally and internationally. In these ways the department will enhance the standing of the university.

The overlap areas of object technology, distributed systems and artificial intelligence, ie intelligent distributed objects, are of special interest in the department's research profile. Most of the department's student and grant research projects fall into at least two of these overlapping areas.

Research expertise in intelligent distributed objects has given rise to a number of research scholarships, funded projects and national and international collaboration with industry and academia.

Interest groups centred around object-oriented software engineering, distributed object technology and artificial intelligence shape the department's research culture, seminar series and active working groups. From within these working groups the department leads two faculty initiatives, the Monash Artificial Intelligence Consortium and the Monash Software Engineering Consortium. These research groups also provide the basis for the department's contribution to various regional, national and international working groups, interest groups, conference program committees and journal editorial boards.

The distributed object technology group focuses on parallel and distributed object-oriented methods, languages, systems and standards. Issues related to modeling and developing client-server applications, adaptive parallelism, fault tolerance in distributed systems, interoperability and semantics of objects and processes are at the heart of the projects in this area.

The object-oriented software engineering group focuses on three major aspects of software engineering: formal aspects of software engineering, software architecture and reuse, and software quality metrics and standards conformance. Current research in the group tries to bridge the gap between traditional informal requirements and formal or semi-formal specification. To this end the group studies means of computer supported specification and design, interactive specification acquisition, and reasoning about objects.

The artificial intelligence group works on knowledge-based approaches to engineering large software systems, and on intelligent objects or agents, which combine features of object-oriented and rule-based systems.

Software development - research interests

Artifical intelligence

Artificial intelligence and software engineering

Abductive inference; deduction of induction results; interactive programming; practical theorem proving.

Academic staff: Dr J Chen, Dr T Menzies, Dr X Wu

Software agents and machine learning

Integration of rules and objects; intelligent adaption machines; knowledge discovery; specifying and refining intentional agency; specifying multi-agent test beds.

Academic staff: Mr B Durnota, Ms S Ramakrishnan, Professor H Schmidt, Dr X Wu

Intelligent multimedia

Intelligent hypermedia systems; intelligent text retrieval.

Academic staff: Professor H Schmidt, Dr X Wu

Distributed object technology

High-performance object technology

Object-oriented concurrency: languages and implementation, applications, reasoning, modelling, tools support.

Academic staff: Dr J Chen, Dr A Sajeev, Professor H Schmidt

Distributed systems

Adaptive fault tolerance; object request brokers and traders; interoperability; visualisation.

Academic staff: Dr A Sajeev, Professor H Schmidt

Object-oriented software engineering

Formal aspects of software engineering

Semantic analysis of object-oriented specification; testing based on formal specifications; requirements capture and conceptualisation; integrating specifications and implementations.

Academic staff: Dr J Chen, Mr B Durnota, Dr A Sajeev

Reuse and re-engineering

Object frameworks and restructuring; documentation evolution; object-oriented databases and persistence; class libraries; CASE tools.

Academic staff: Dr J Chen, Dr T Menzies, Ms C Mingins, Ms S Ramakrishnan, Dr A Sajeev, Professor H Schmidt

Object-oriented software process and measurements

Design and project metrics; object-oriented complexity.

Academic staff: Dr T Menzies, Ms C Mingins, Dr A Sajeev, Professor H Schmidt

Collaborative links

The department is committed to working with educational institutions, the computing industry, professional associations, government and standardisation organisations to advance software development ethics and practice.

Members of the department participate in several professional organisations such as the Australian Computer Society (ACS) and its international counterparts, the ACM and IEEE.

The department has strong links with a number of local and national companies and government institutions, particularly through its leadership roles in the:

+ Object Oriented Special Interest Group (OOSIG) of the Victorian ACS

+ International Technology of Object Oriented Languages and Systems (TOOLS) conferences

+ ACS Software Engineering Research Consultative Council (SERCC)

+ Non-Profit International Consortium for Eiffel (NICE).

In these groups the department seeks to promote understanding of public concerns with respect to software technology and dissemination of the values and benefits of software technology.

The department cooperates with several European and North-American universities and research institutes including the German Distant-University Hagen and University Aachen, University Karlsruhe, and the Californian International Computer Science Institute affiliated to the University of California at Berkeley, and the Open University (UK).

The department offers technology transfer packages in the form of industry courses taken on-campus or on-site. These professional courses are offered and packaged through the Pearcey Centre and the department office.

The department also takes a leading role in university initiatives to present and shape the faculty's future teaching and research profile in the areas of software engineering and artificial intelligence, by chairing the Monash Software Engineering Consortium (MSEC) and the Monash Artificial Intelligence Consortium (MAIC), and by networking with the broader community in these areas at a national and international level.

Awards

Prizes and scholarships may be awarded by the department or affiliated companies to outstanding students enrolled under various degrees. Enquiries should be directed to the department office.

Contacts

A list of current student projects and summaries of proposed student projects and corresponding supervisors can be obtained from the World Wide Web (URL: http://www.sd.monash.edu.au) or by contacting the department office on tel: (03) 9903 2787, fax: (03) 9903 1077, or email: office@insect.sd.monash.edu.au.

For more information, contact the relevant staff member. Postgraduate research coordinator: Dr A S M Sajeev, telephone (03) 9903 2181; Master of Computing and Graduate Diploma in Information Technology coordinator: Sita Ramakrishnan, telephone (03) 9903 2702; honours coordinator: Jan Miller, telephone (03) 9903 2700.

Objectives - Major in software development

The major in software development is the department's principal undergraduate offering. The major is a sequence of subjects available to students studying for a Bachelor of Computing at Caulfield; the subjects are also available to students in a range of other courses at Caulfield and on other campuses.

The aim of the major is to provide undergraduate students in computing and other disciplines with the intellectual tools to enable them to apply state-of-the-art knowledge, skills, methods and techniques to the design, implementation, maintenance and modification of software systems. It will also provide the theoretical understanding for learning and for using new methods in the future, and the attitude which sees the constant updating of knowledge as required professional behaviour.

On completion of the major in software development, students will be able to:

+ specify, design, construct, verify, test, maintain and modify programs, program components and software systems;

+ evaluate and select alternative software methods and tools in the construction of systems;

+ communicate effectively with clients, users and other professionals;

+ work constructively within a team environment;

+ appreciate commercial and ethical issues arising in software development projects.

Students completing this sequence will have knowledge of:

+ the different conceptual models of software development;

+ the methods used in applying conceptual models to software development;

+ the processes followed by software developers in constructing systems;

+ the techniques and notations used in designing and implementing software systems.

They will have an understanding of:

+ the software development process, both in the sense of abstract models and in the various instances of the process as practised in industry;

+ the activities and aspects of the software development process;

+ the issues that are motivating the growth and evolution of information technology;

+ the differences between personal programming and professional software development; in particular, they should understand that professional software development involves the production of software systems under the constraints of control and management activities;

+ a working set of principles, models, representations, methods and tools and the role of analysis and evaluation in software development;

+ the architectures of many common and well-understood classes of software systems;

+ the content of appropriate standards and their application in software development;

+ the basic economic, legal and ethical issues of software development.

They will be able to:

+ apply fundamental principles in the performance of various software development activities;

+ apply appropriate methods to achieve results by using appropriate programming languages;

+ develop and use appropriate tools covering all activities of the software process;

+ collect appropriate data and metrics for project management purposes, and for analysis and evaluation of both the process and the product;

+ design data for and structures of software tests;

+ execute a plan, including the performance of various kinds of software tests;

+ apply documentation standards in the production of all kinds of documents;

+ evaluate new technologies and tools to determine their applicability in a particular context.

They will have developed attitudes which allow them to:

+ understand their role and work effectively as a team member within the organisation;

+ be a professional contributor to the information technology industry.


| Department information Part 1 | Computing & Information Technology handbook | Monash handbooks | Monash University