Modelling Complex Software Systems

Subject SWEN90004 (2016)

Note: This is an archived Handbook entry from 2016.

Credit Points: 12.5
Level: 9 (Graduate/Postgraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2016:

Semester 1, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 29-Feb-2016 to 29-May-2016
Assessment Period End 24-Jun-2016
Last date to Self-Enrol 11-Mar-2016
Census Date 31-Mar-2016
Last date to Withdraw without fail 06-May-2016

Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 36 hours. 3 hours per week.
Total Time Commitment:

200 hours.


One of the following:

COMP20004 Discrete Structures

And one of:

Study Period Commencement:
Credit Points:
Semester 1, Semester 2
Corequisites: None
Recommended Background Knowledge:


Non Allowed Subjects:

Students cannot enrol in and gain credit for this subject and:

433-441 Systems Modelling and Analysis
433-641 Systems Modelling and Analysis

SWEN40004 Modelling Complex Software Systems

Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support:


Dr Nic Geard


Subject Overview:


Mathematical modelling is important for understanding and engineering many facets of complex systems. The aim of this subject is for students to understand the range and use of mathematical theories and notations in the analysis of discrete systems, how to abstract the key aspects of a problem into a model to handle complexity, and how models can be employed to verify large-scale complex software systems.


Topics covered will be selected from: Deterministic and stochastic modelling; dynamical systems; cellular automata; agent-based modelling; complex networks; simulation and analysis of complex systems; concurrent systems modelling, analysis and implementation; process algebra; temporal logic and model checking.

Learning Outcomes:


On completion of this subject the student is expected to:

  1. identify and abstract the key features of a range of complex system
  2. understand the theoretical basis underpinning the analysis of complex systems
  3. analyse models of discrete and concurrent systems using a range of modern techniques
  4. evaluate and select, amongst different modelling techniques, the most appropriate for analysing specific systems
  5. create mathematical/computational models to analyse and verify the behaviour of complex systems.
  • One research project (involving a programming task and report writing) executed in pairs, expected to take approximately 25-30 hours, due in week 6 (20)%
  • One assignment (in two parts) expected to take approximately 25-30 hours, due in weeks 10 and 12 (20)%
  • A 3-hour closed-book written examination, end of semester examination period (60)%

Hurdle requirement: To pass the subject, the student must obtain:

  • at least 50% overall;
  • at least 50% (20/40) in project work; and
  • at least 50% (30/60) in the written examination

Intended Learning Outcomes (ILOs) 1 to 4 are addressed in the examination

ILOs 2, 3, ad 4 are addressed in the assignments, and the pair research project

Generic skills are addressed by all assessment items

Prescribed Texts:


Recommended Texts:


Breadth Options:

This subject is not available as a breadth subject.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject, students should have the following skills.

• Ability to undertake problem identification, formulation and solution
• Ability to utilise a systems approach to analysing software properties
• Capacity for independent critical analysis of models, and self-directed research for mathematical modelling approaches
• Intellectual curiosity and creativity, including understanding of the philosophical and methodological ideas behind research in software systems analysis
• Openness to new ideas and unconventional critiques of received wisdom



The subject will be delivered through a combination of lectures, hands-on workshops, individual assignments, and a pair-based project in which students use modelling and simulation to study a complex system.


A package of notes will be made available to the students at the start of the course. An addition reference is: Kramer, Jeff, and Jeff Magee: Concurrency: State Models and Java Programs, John Wiley and Sons, 2nd edition (2006).


The ability for software engineers and computer scientists to abstract and analyse complex problems is key to their profession. As software systems continue to be deployed in increasingly complex and critical environments, such as transport control, manufacturing, and healthcare, the tools and methods for analysing complex systems will become more important.

Related Course(s): Doctor of Philosophy - Engineering
Master of Information Technology
Master of Information Technology
Master of Philosophy - Engineering
Related Majors/Minors/Specialisations: MIT Computing Specialisation
Master of Engineering (Software with Business)
Master of Engineering (Software)

Download PDF version.