Title by Lukas Sekanina




Prologue

Still, we learn from history. Hence nowadays, in time of evolution in everything - for instance in hardware - with knowledge how to construct complex programs as well as hardware, it is time to use our knowledge to construct evolvable hardware. This page should help to introduce our idea of the evolvable component.


News





Introduction: Evolvable Hardware

What does it mean Evolvable Hardware?

For answer, visit please EvoNet, the EvoELEC working group in evolutionary electronics and evolvable hardware. You can also try famous Thompson's Evolutionary Electronics Web Links. Many of research teams bring good introductions. Here, we summarize the most important features from our point of view: According to classification in POE model [2], only totally hardware implementation with respect to dynamically changing environment (fitness function) may be called pure Evolvable Hardware.


Important succesfull results

Present promissing results of evolvable hardware are an important stimulation of next research. Of course, many other good projects are not included. There are some topical and interesting projects for us.

Classification in Evolvable Hardware

Some published papers deal with classification of evolvable hardware and evolvable hardware based applications. These summaries and comparative studies are important for global look at the field. They identify strong and weak properties of EHW and thus influence future research.

Why does it not work sometime?

Many problems have been identified in the field evolvable hardware. Some of them are listed bellow.

Computational platforms


Evolutionary Algorithms


Conferences/Journals/...




Towards Evolvable Components

Phases of the design process

Remember: An evolutionary algoritm is used for DESIGN! Conceptually, an application design consists of these significant steps, which can be ordered in two phases: It is not difficult to find out that these phases cover two different design processes: evolutionary algorithm design and hardware design. And it is interesting to follow them since such co-operation can be seen only in field of evolvable hardware.

Which tasks are suitable for evolvable hardware?

Generally, it is difficult to answer. But nowadays, it is clear, that evolvable hardware is only a part (subsystem) of the complex solution. In other words, many system parts are implemented as "non-evolvable" using traditional approaches (e.g. fixed hardware). To justify usage of evolvable hardware for implementation, "evolvable subsystem" must outperform traditional solution - i.e. a sufficient solution is available in shorter time or an excellent solution is available in the same time as using the traditional approach. To be successful, circuit evolution must catch environmental changes.

Uniform design approach

Known papers on evolvable hardware usually describe ad hoc design of evolvable hardware for a given task. We need a concept for modelling of EHBA, which will potentially aim at semi-automatic design of these applications. It seems that it is right time to do it now, since first industrial evolvable hardware based applications appear [10].
In case of the complex systems, the current programming paradigm is based on reusability. The functions in libraries, the classes and components are used many times to save time of programming and to avoid mistakes. Similarly in hardware, circuits are available in libraries or as intellectual property (IP).
Also in the field of evolvable hardware, it is possible to identify the basic elements of the system, which can be found in all applications - i.e. RC with configuration memory, chromosome memory, fitness memory, a unit which creates a new population, a unit which saves the best connection, a fitness calculation unit, random number generator, etc. Furthermore, some operations - e.g. downloading a chromosome into RC to be evaluated - are the same for all applications. Thus, one can prepare a template (or generic application) and the designer only defines parameters of the template for a given application - i.e. fitness function, chromosome encoding function, genetic operations, structure of the RC, etc. During experiments with the program model, designer will optimize the application performance. This approach supports fast prototyping of EHBAs. When a dual hardware image to the program model exists, then one can automatically generate hardware description and syntheses it. Thus the Phase 1 of the design process is covered by the program simulations. The main features of the method are potentially open-ended, strongly constraint, intrinsic hardware evolution.

EHW = RC + GA is revised to EHW = RC + genetic operations

comp It is necessary to carefully consider the position of the reconfigurable circuit, evolutionary algorithm, environment, their cooperation, and other (non-evolvable) subsystems in the scope of the complex system. Correct decomposition should lead to the transparent interfaces between them.
Evolvable hardware is usually presented as a combination of the RC and GA. The fitness function is the most important part of the GA. Outside the field of evolvable hardware, an application which uses some EA must define this function - therefore, fitness function is essentially inherent part of the application. To support the concept of the open-ended evolution, it is important to divide a GA into two parts: fitness function and genetic operations. Then, entire evolvable system consist of the RC, genetic operations GO (= genetic algorithm without fitness function) and the fitness function. In our concept, RC with GO are called evolvable component EC (evolvable hardware in the case of HW implementation) and the fitness calculation is called the application (APP), because entire task (application) influences a fitness value of the chromosome.
The figure shows relations in an evolvable system. The RC and GO are encapsulated by EC and the rest of the system is the application (or environment) from the EC point of view. The EC is the subsystem with transparent interface (a dashed line) from the application point of view. The RC and GO are bound by encoded connection (chromosome). During fitness calculation, the application uses the RC using its inputs and outputs and then the fitness value of the current configuration is passed to the GO unit.

Evolvable Component vs. Common Component

comp Evolvable system can be defined as the set of interacting components where at least one of them is under evolution. Common components (e.g. decoders, processors, interfaces) are used through their inputs, outputs and the control signals and their internal structure is well known. The evolvable component is used by application through inputs and outputs in the same way as other (non-evolvable) common components, but furthermore, application must specify how current circuit connection is successful.
For application, the evolvable component is the black box, which can perform some important system function, and quality of this function is influenced by numbers (fitness values) given from application. For evolvable component, the application is a dynamically changing environment and the evolvable component tries to adapt to changes. The process of genetic learning is controlled by application which still asks for a better connection. All the genetic operations, fitness and population memories are carried out on the evolvable component, only fitness calculation is the part of the application.

Applications of evolvable components


Summary: Advantages of Evolvable components


Our publications are related to these topics:


People who are also related to the field of evolvable systems at Faculty of Information Technology

Vladimír Drábek (associate professor)
Azeddien M. Sllame (PhD student)
Richard Ruzicka (PhD student)

Where you can find us:

EvoELEC working group - People and research groups
Evolutionary Electronics Web Links
A comprehensive collection of Cell Matrix- related articles
IEEE DDECS'2002 Workshop we are responsible for organizing of this event!
Lukas Sekanina: Evolvable Components (an introduction of users of the Cell Matrix architecture)
ICES 2003 Lukas Sekanina is a member of the Program committee
Submitted EoI European FP6

Citations:

The paper Sekanina, L., Ruzicka, R.: Design of the Special Fast Reconfigurable Chip Using Common FPGA [iv]
IN
Torresen, J.: Reconfigurable Logic Applied for Designing Adaptive Hardware Systems. International Conference on Advances in Infrastructure for Electronic Business, Education, Science, and Medicine on the Internet (SSGRR 2002W), January 2002, L`Aquila, Italy.
IN
Torresen, J., Vinger, K., A.: High Performance Computing by Context Switching Reconfigurable Logic. In proc. of 16th European Simulation Multiconference (ESM-2002), pp. 207-210, June 2002, Darmstadt, Germany.

The paper Sekanina, L., Sllame, A.: Toward Uniform Approach to Design of Evolvable Hardware Based Systems [i]
IN
Torresen, J.: Evolvable Hardware as a New Computer Architecture. International Conference on Advances in Infrastructure for Electronic Business, Education, Science, and Medicine on the Internet (SSGRR 2002W), January 2002, L`Aquila, Italy.

Students' projects

Michal Hronec (year project 2000/01: Cellular systems simulation)
Frantisek Janicek (year project 2001/02: Building blocks for Cell Matrix architecture)
Tomas Kantor (year project 2002/2003: A model of DNA-based computation)
Michal Bidlo (year project 2002/2003: Cellular automaton for image processing)
Ondrej Jaksik (year project 2002/2003: Design tools for the genetic programming)
Ondrej Pipek (MSc. project 2002/2003: A tool for virtual reconfigurable circuits design)
Frantisek Janicek (MSC. project 2002/2003: Cell Matrix reconfiguration methods)

Our publications

1999 and 2000
  1. Sekanina, L., Sllame, A.: Toward Uniform Approach to Design of Evolvable Hardware Based Systems. In: Field-Programmable Logic and Applications - FPL'2000, (C) Springer-Verlag Berlin Heidelberg, Villach, Austria, 2000, pp. 814-817. [ps.gz]
  2. Sekanina, L., Drábek, V.: Relation Between Fault Tolerance and Reconfiguration in Cellular Systems. In: 6th IEEE Int. On-Line Testing Workshop, Palma de Mallorca, Spain, 2000, pp. 25-30. [ps.gz]
  3. Sllame, A., Sekanina, L.: Simulation and Modeling of Evolvable Hardware Based Systems. In: Proc. of MS2000 International Conference on Modeling and Simulation, Las Palmas, Spain, 2000, pp. 485-492. [pdf]
  4. Sekanina, L., Ruzicka, R.: Design of the Special Fast Reconfigurable Chip Using Common FPGA. In: Design and Diagnostic of Electronic Circuits and Systems - IEEE DDECS'2000, Smolenice, Slovakia, 2000, pp. 161-168. [pdf]
  5. Sekanina, L., Drábek, V.: Fault Tolerance and Reconfiguration in Cellular Systems. In: Design and Diagnostic of Electronic Circuits and Systems - IEEE DDECS'2000, Smolenice, Slovakia, 2000, pp. 134-137.
  6. Sekanina, L., Drábek, V.: The Concept of Pseudo Evolvable Hardware. In: IFAC Workshop on Programmable Devices and Systems - PDS 2000, Elsevier Science Ltd. Oxford, UK, Ostrava, Czech Rep., 2000, pp. -. [ps.gz]
  7. Ruzicka, R., Sekanina, L.: The Role of Simulation During Design of Evolvable Systems. In: Proc. of 22-nd International Colloquium Advanced Simulation of Systems - ASIS 2000, MARQ, Ostrava, 2000, pp. 85-90.
  8. Sekanina, L.: Components and Communications in Evolvable System. In: Sborník prací studentu a doktorandu, Akademické nakladatelství CERM, Brno, Czech Rep., 2000, pp. 231-233.
  9. Sekanina, L., Drábek, V.: Evolvable hardware - evoluce na cipu. In: Elektrorevue, Vol. 1, No. 5/99, FEI VUT Brno, Brno, 1999. [html]
  10. Sekanina, L.: Evolvable Hardware as Non-Linear Predictor for Image Compression. In: Proc. of the 2nd Prediction Conference Nostradamus'99, Knihovna F.Bartose, Zlín, Czech Rep., 1999, pp. 87-92. [ps.gz] [html]

    2001
  11. Sekanina, L., Dvorak, V.: A Totally Distributed Genetic Algorithm: From a Cellular System to the Mesh of Processors. In: The 15th European Simulation Multiconference ESM2001, The SCS Publ. House, Delft, The Netherlands, Prague, 2001, pp. 539-543 [pdf]

    2002
  12. Sekanina, L., Drabek, V.: Soft-hardware. In: Vesmir 81(7) - Czech scientific journal, pp. 393-395 [html]
  13. Sekanina, L.: Image Filter Design with Evolvable Hardware. In: Applications of Evolutionary Computing, The 4th European Workshop on Evolutionary Computation in Image Analysis and Signa Processing EvoIASP2002, Kinsale, Ireland, LNCS 2279, (C) Springer Verlag, 2002, pp. 255-266 [ps]
  14. Sekanina, L.: Evolvable Computational Machines: Formal Approach. In: 2nd Euro-International Symposium on Computational Intelligence, Kosice, Slovakia, IOS Press, 2002, pp. 166-172 [ps]
  15. Sekanina, L., Drabek, V.: Automatic Design of Image Operators Using Evolvable Hardware. In: 5th IEEE Design and Diagnostics of Electronic Circuits and Systems Workshop 2002 Brno, Czech Rep., 2002, pp. 132-139 [pdf]
  16. Sekanina, L.: Automata of Evolvable Computational Machines In: Student Electrical Engineering, Information and Communication Technologies 2002 at Brno University of Technology, Brno, Czech Rep., 2002, pp. 491-495 [pdf]
  17. Sekanina, L., Torresen, J.: Detection of Norwegian Speed Limit Signs In: The 16th European Simulation Multiconference ESM2002, DARMSTADT, Germany, 2002, pp. 337-340
  18. Sekanina, L.: Evolution of digital circuits operating as image filters in dynamically changing environment In: 8th International Conference on Soft Computing Mendel, Brno, Czech Rep., 2002, pp. 33-38 [pdf]
  19. Sllame, A., Sekanina, L.: An Evolutionary-Based Algorithm to the Module Selection Process in High-Level Synthesis In: 8th International Conference on Soft Computing Mendel, Brno, Czech Rep., 2002, pp. 87-92 [pdf]
  20. Sekanina, L., Drabek, V.: A Survey of Bioinspired Methods for Design of Fault Tolerant Reconfigurable Architectures In: 8th Baltic Electronic Conference BEC'02, Tallinn, Estonia., pp. 355-358
  21. Sllame, A., Sekanina, L.: An Evolutionary-Based Algorithm to the Module Selection Problem with Resource Sharing in High-Level Synthesis In: PPSN-2002 Workshop on Real World Optimisation Using Evolutionary Computing, Granada, Spain, 2002.
  22. Sekanina, L.: Nanostructures and Bio-Inspired Computer Engineering In: Nano 2002, Brno, Czech Rep.

    2003
  23. Sekanina, L.: Virtual Reconfigurable Circuits for Real-World Applications of Evolvable Hardware In: The 5th International Conference on Evolvable Systems: From Biology to Hardware ICES 2003, Trondheim, Norway, 2003, LNCS 2606, (C) Springer-Verlag, pp. 186-197 [zip]
  24. Sekanina, L.: From Implementations to a General Concept of Evolvable Machines In: The 6th European Conference on Genetic Programming, EuroGP 2003, Colchester, UK, LNCS 2610 (C) Springer-Verlag [zip]
  25. Sekanina, L., Ruzicka, R.: Easily Testable Image Operators: The Class of Circuits Where Evolution Beats Engineers In: The 2003 NASA/DoD Conference on Evolvable Hardware, Chicago, IL, IEEE Computer Press, pp. xxx
  26. Sekanina, L.: Towards Evolvable IP Cores for FPGAs In: The 2003 NASA/DoD Conference on Evolvable Hardware, Chicago, IL, IEEE Computer Press, pp. xxx

    Tutorials
  27. Drabek, V., Sekanina, L.: Basic Principles of Bio-Inspired Approaches to Fault Tolerance: Tutorial. In: Design for Test of Systems on Chip: Digital Test (In: 8th Baltic Electronic Conference BEC'02, Tallinn, Estonia)

    Thesis
  28. Sekanina, L.: Component Approach to Evolvable Systems, PhD thesis, Faculty of Information Technology, Brno University of Technology, 2002, 132 pp.
  29. Sekanina, L.: Modelling of evolvable hardware. MSc-thesis, Brno University of Technology, 62 pp. [abstract]

Acknowledgments

This project is partly supported with: Grant Agency of the Czech Republic under No. 102/01/1531 (Formal approach in digital circuit diagnostic - testable design verification) and No. 102/03/P004 (Evolvable hardware based applications design methods).

References

  1. Sanchez, E., Tomassini, M. (Eds.): Towards Evolvable Hardware: The Evolutionary Engineering Approach. Springer-Verlag, Berlin, 1996.
  2. Sanchez, E. et al.: Phylogeny, Ontogeny, and Epigenesis: Three Sources of Biological Inspiration for Softering Hardware. In: Higuchi T. et al. (eds.), Evolvable Systems: From Biology to Hardware, Berlin, Springer-Verlag 1997, pp. 35-54.
  3. Murakawa, M. et al.: Hardware Evolution at Function Level. In: Parallel Problem Solving from Nature - PPSN IV, Springer-Verlag, 1996, pp. 62-71.
  4. Thompson, A., Layzell, P.: Analysis of Unconventional Evolved Electronics. Communication of the ACM. April 1999/Vol. 42, No.4, pp. 71-79.
  5. Yao, X., Higuchi, T.: Promises and Chalenges of Evolvable Hardware. In: Higuchi, T. et al. (eds.), Evolvable Systems: From Biology to Hardware, Berlin, Springer-Verlag 1997, pp. 55-78.
  6. M. Sipper. Evolution of Parallel Cellular Machines: The Cellular Programming Approach. Springer-Verlag, Heidelberg, 1997.
  7. Back, T.: Evolutionary Algorithms in Theory and Practice. Oxford University Press, New York, 1996.
  8. Miller, J., Thomson, P.: Cartesian Genetic Programming. In: EuroGP, 1st International Conference on Genetic Programming, 2000, Edinburgh, Scotland.
  9. Kajitani, I, et al.: Evolvable Hardware Chips for Neural Network Applications. In: Proc. of the Fourth International Conference on Artificial Neural Networks and Genetic Algorithms (ICANNGA99), pp. 127-134, 1999.
  10. Higuchi, T. et al: Real-World Applications of Analog and Digital Evolvable Hardware. In: IEEE Transactions on Evolutionary Computation, Vol. 3, No. 3, September 1999, pp. 220-235.
  11. Miller, J., Job, D., Vassilev, V.: Principles in the Evolutionary Design of Digital Circuits -- Part I, Journal of Genetic Programming and Evolvable Machines, Vol. 1, No. 1, 2000, pp. 8-35.
  12. Miller, J., Job, D., Vassilev, V.: Principles in the Evolutionary Design of Digital Circuits -- Part II, Journal of Genetic Programming and Evolvable Machines, Vol. 3, No. 2, 2000, pp. 259-288.
  13. Kajitani, I. et al: A gate-level EHW chip: Implementing GA operations and reconfigurable hardware on a single LSI. In: Sipper, M. et al. (eds.): Evolvable Systems: From Biology to Hardware, Springer Verlag, 1998, pp. 1-12.
  14. Salami, M., Murakawa, M., Higuchi, T.: Data Compression Based on Evolvable Hardware. In: Higuchi, T. et al. (eds.), Evolvable Systems: From Biology to Hardware, Berlin, Springer-Verlag 1997, pp. 169-179.
  15. Tanaka, M., et al.: Data Compression for Digital Color Electrophotographic Printer with Evolvable Hardware. In: Sipper, M. et al. (eds.): Evolvable Systems: From Biology to Hardware, Springer Verlag, 1998, pp. 106-114.
  16. Tufte, G., Haddow, P.: Prototyping a GA Pipeline for Complete Hardware Evolution . In: The first NASA/DoD Workshop on Evolvable Hardware, IEEE Press, 1999, pp 143-150.
  17. Torresen, J.: Possibilities and Limitations of Applying Evolvable Hardware to Real-World Application . In: 10th International Conference on Field Programmable Logic and Applications (FPL-2000), Villach, Austria, pp. 230-239
  18. Bentley, P.: Representations are more important than algorithms: Why Evolution Needs Embryology. In: Evolvable Systems: From Biology to Hardware, html-presentation.
  19. Zebulum R.S., Pacheo, M.A., Vellasco, M: Evolvable system in hardware design: Taxonomy, survey and applications.In: Higuchi, T. et al. (eds.), Evolvable Systems: From Biology to Hardware, Berlin, Springer-Verlag 1997, pp. 344-358.
  20. Vassilev, V., Miller, J. F.: Scalability Problems of Digital Circuit Evolution - Evolvability and Efficient Designs . In: J. Lohn, A. Stoica, D. Keymeulen and S. Colombano (eds.), Proceedings of the 2nd NASA/DoD Workshop on Evolvable Hardware (2000). Los Alamitos, CA: IEEE Computer Society, pp. 55-64.

FEI Please send me e-mail if you have some comments.
2000-3 (C) Lukas Sekanina
Faculty of Information Technology
Brno University of Technology, Czech Republic
Last modification: May 6, 2003
Counter since September 24, 2000: