Title: SBSE
1SBSE
2Overview Design
- Translate requirements into a representation of
software - Focuses on
- Data structures
- Architecture
- Interfaces
- Algorithmic details
- Also include
- Resource and task allocation in a distributed
system
3Applications Design
- Multiprocessor scheduling
- Task and resource allocation in distributed
systems - Hardware/software co-design in embedded systems
- Protocol construction
- Architecture design
4Design
5Multiprocessor scheduling
- Context multiprocessor system
- Goal minimize total run time of the task
- Multiprocessor scheduling static/dynamic
- Consider communication
- Message passing
- Waiting / possible deadlocks
- MPS (s/d) a.k.a. Load Balancing
6? A Multiprocessor Scheduling Scheme Using
Problem-Space Genetic Algorithms
- Nodes tasks
- Edges communication
- Weights cost of communication
7Solution
- Discussion possible approaches
8? A Modified Genetic Algorithm for Task
Scheduling in Multiprocessor Systems
- Topic Multiprocessor scheduling
- Approach Partitioned GA-s
- Divide and conquer
- Divide the problem into subproblems, solve them,
then combine them - Task graph is partitioned
- Results better than the classical GA
9? Efficient Scheduling of Arbitrary Task Graphs
toMultiprocessors using A Parallel Genetic
Algorithm
- Uses a parallel implementation of GA
- Examples of approaches
- Parallel evaluation
- Parallel evolution/ island model
10Discussion of techniques
11Other articles
- Pareto-based Soft Real-Time Task Scheduling in
Multiprocessor Systems - Discussion of Pareto multi-objective
optimization - Discussion of elitism
12Task and resource allocation in distributed
systems
- Data, functionality usually allocated to specific
nodes - Node may need resources it owns or shared
resources - Inter-node communication may cause delays and
reliability problems
13Hardware/software co-design in embedded systems
- Hardware and software (designers) must cooperate
- Hardware/software co-design
14Implementation
15Implementation
- Automatic programming, N-version programming,
search for compiler optimisations and
re-engineering - Review GP techniques
16? Automatic generation of object-oriented
programs using genetic programming
- Generation of OO-programs
- Memory zone allocated for data
- Methods are supposed to learn to operate properly
on the attributes - Application
- Evolved structures like stack, queue using
primitive operations
17? Automatic programming and program maintenance
withgenetic programming
- Turing programs are evolved my means of GP
- Once such program solves a problem, it is added
to a library of reusable code snippets - -gt see modern ADF-s
18? Generating Multiple Diverse Software Versions
with Genetic Programming
- A variant for N-Version programming
- Start more GP processes, each with its specific
settings, aiming to synthesize new ideas.
19Steps
- 1. The design and implement fitness function by
using software specification. - 2. Decide, which GP system parameters will be
varied. - 3. Decide how parameters will vary.
- 4. Choose the parameter value combinations to use
in GP runs. - 5. Let GP system to run for each combination of
parameter values. - 6. Measure fitness for each generated GP program.
Calculate the diversity. - 7. Select the program combinations with lowest
failure probability to the software fault
tolerance structure.
20Re-engineering
- A program becomes too old, to cracky, needs to
be refurbished. - ? Automatic re-engineering of software using
genetic programming - Program parallelisation
- ? Genetic algorithm based restructuring of
object-oriented designs using metrics - Restructure OO design
21Search for compiler optimizations
- ? Optimizing for Reduced Code Space using Genetic
Algorithms - Each optimization method is given a letter, the
problem is to find which is the better sequence
of optimizations to apply - ? GAPS A Compiler Framework for Genetic
Algorithm (GA) Optimised Parallelisation
22Lab tasks (optional)
- Parameter control in Genetic Algorithms
dwindling mutation rate - Multi-objective optimization
- As many 1001-s as possible
- As many 11101-s as possible
- Smart bug (GP application)
- Textual notation for UML research
- http//www.infoiasi.ro/ogh/tep
23Tasks
- Read the survey
- Skim over the articles
- Like one? Choose it!
- You are not supposed to like a 2-page article,
unless you can implement the techniques described
in it. - Dont like any? Find your own SBSE article on the
net and talk to me about it.