Skip to content


Software Design for Industry Automation 7.5 credits

Mjukvarudesign för industriell automation
Second cycle, D7033E
Course syllabus valid: Autumn 2021 Sp 1 - Present
The version indicates the term and period for which this course syllabus is valid. The most recent version of the course syllabus is shown first.

Education level
Second cycle
Grade scale
G U 3 4 5
Computer Science
Subject group (SCB)
Computer Technology

Entry requirements

Before enrolling in this course, students should have basic understanding of: Boolean algebra.Course M0009M Discrete Mathematics. Basic concepts of computer networking. Course D0002E Computer communications or equivalent. Knowledge in programming corresponding to D0009E (Introduction to programming), D0017E (Programming för engineers) or R7008E (Industrial automation). Good knowledge in English equivalent to English 6.

More information about English language requirements


The selection is based on 20-285 credits

Course Aim
This course covers advanced topics in industrial automation which includes distributed control system design using programmable logic controllers (PLC), component-based design methodology and systematic design of automation systems. Following the industrial automation course (R7008E), this course focuses on the design of more complex industrial automation software which are portable, configurable and interoperable.

After the completion of this course, students will be able to:

  1. Understand the need for distributed automation systems
  2. Apply systematic design for the engineering of industrial automation systems with the waterfall systems engineering method
  3. Design automation systems which are portable, configurable and interoperable with the industrial standard IEC 61499 (Reference design for distributed automation system)
  4. Understand and apply basic concept of component-based software design in industrial automation
  5. Solving automation problems with real life examples

At the end of the course, students will be able to:

  1. Apply Systems Engineering approach to the engineering of industrial automation systems from requirements to implementation to testing.
  2. Design distributed industrial automation systems which are portable, configurable and interoperable
  3. Problem solving and self-learning

The topics covered by lectures are:
  1. Introduction to Distributed Automation Systems
  2. Systems engineering approach to designing industrial automation systems
  3. Software design of distributed automatoin systems
    1. Design artefacts of IEC 61499 distributed reference design
    2. State-machine design
    3. State-based controller design
    4. Implementation of automata in PLC
    5. Modularity and reuse
  4. Distributed automation design patterns
    1. Design patterns and refactoring
    2. Intelligent Mechatronic Component (IMC) architecture
    3. Service Oriented Architecture (SOA) design
  5. Topics of the tutorial and laboratory work are as follows:
    1. Design of distributed control software and human-machine interface using IEC 61499 Function Blocks
    2. Design of IEC 61499 Function Blocks using Service Oriented Architecture

    Each course occasion´s language and form is stated and appear on the course page on Luleå University of Technology's website.
    The course activities include lectures, tutorial, laboratory work, and project.

    If there is a decision on special educational support, in accordance with the Guideline Student's rights and obligations at Luleå University of Technology, an adapted or alternative form of examination can be provided.
    The course follows a practical-work based examination. There are two forms of assessment.
    1. The first one will be assignment tasks that will be marked based on the submission to the task problem statement on the course LMS, and there will be will  five (5) such tasks.
    2. The second will be a single project work that includes a project demo to the whole class. The project will be marked based on this demo of the project along with the report and source code submission to the project problem statement on the course LMS.

    Valeriy Vyatkin

    Literature. Valid from Autumn 2021 Sp 1 (May change until 10 weeks before course start)
    No compulsory course book is required. Lecture slides will be provided.
    The following books are recommended:
    1. V. Vyatkin, IEC 61499 Function Blocks for Embedded and Distributed Control Systems Design, ISA, USA, 3rd edition, 2015
    2. M. Wooldridge “Introduction to multi-agent systems”.

    Course offered by
    Department of Computer Science, Electrical and Space Engineering

    CodeDescriptionGrade scaleCrStatusFrom periodTitle
    0006Assignment tasksG U 3 4 54.00MandatoryA20
    0007Project workG U 3 4 53.50MandatoryA20

    Study guidance
    Study guidance for the course is to be found in our learning platform Canvas before the course starts. Students applying for single subject courses get more information in the Welcome letter. You will find the learning platform via My LTU.

    Syllabus established
    by Jonny Johansson, HUL SRT 14 Feb 2014

    Last revised
    by Jonny Johansson, HUL SRT 12 Feb 2021