Commenced in January 2007
Paper Count: 30006
On the Application of Meta-Design Techniques in Hardware Design Domain
Authors: R. Damaševičius
Abstract:System-level design based on high-level abstractions is becoming increasingly important in hardware and embedded system design. This paper analyzes meta-design techniques oriented at developing meta-programs and meta-models for well-understood domains. Meta-design techniques include meta-programming and meta-modeling. At the programming level of design process, metadesign means developing generic components that are usable in a wider context of application than original domain components. At the modeling level, meta-design means developing design patterns that describe general solutions to the common recurring design problems, and meta-models that describe the relationship between different types of design models and abstractions. The paper describes and evaluates the implementation of meta-design in hardware design domain using object-oriented and meta-programming techniques. The presented ideas are illustrated with a case study.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1327861Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF
 J.F. Aga├½sse and B. Laurent, "Virtual components application and customization", in: Proc. of Design, Automation and Test in Europe (DATE 99), Munich, Germany, March 9-12, 1999, 726-727.
 C. Alexander, The Timeless Way of Building. Oxford University Press, New York, 1979.
 S.W. Ambler, Technique Patterns: Building Large-Scale Systems Using Object Technology. Cambridge University Press, 1998.
 C. Atkinson and T. K├╝hne, "The Role of Metamodeling in MDA", International Workshop in Software Model Engineering (in conjunction with UML -02), Dresden, Germany, October 2002.
 L. Baker, P. Clemente, B. Cohen, L. Permenter, B. Purves, and P. Salmon, "Foundational concepts for model driven system design", Technical paper, Vitech Corporation, 1997.
 R.R. Barton, "Metamodeling: a state of the art review", in: Proc. of the 1994 Winter Simulation Conference, Lake Buena Vista, FL, USA, 1994, 237-244.
 D. Batory, "Product-line architectures", Smalltalk and Java in Industry and Practical Training, Erfurt, Germany, 1998, 1-12.
 D. Batory, R.E. Lopez-Herrejon, J.-P. Martin, "Generating product-lines of product families", in: 17th IEEE Conference on Automated Software Engineering (ASE 2002), 23-27 September, 2002, Edinburgh, Scotland, UK, 81-92.
 D. Batory, S. Dasari, B., Geraci, V. Singhal, M. Sirkin, and J. Thomas, "Achieving reuse with software system generators", IEEE Software, September 1995, 89-94.
 M. Becker, "Generic components: a symbiosis of paradigms", in: G. Butler and S. Jarzabek (Eds.), Generative and Component-Based Software Engineering, 2nd Int. Symposium, GCSE 2000, Erfurt, Germany, October 9-12, 2000, LNCS 2177, Springer, 100-113.
 J. Bezivin, N. Farcet, J.-M. Jezequel, B. Langlois, and D. Pollet, "Reflective model driven engineering", in: P. Stevens, J. Whittle, and G. Booch (eds.), Proc. of the 6th Int Conference on The Unified Modeling Language - Modeling Languages and Applications (UML 2003), October 20-22, 2003, San Francisco, CA, USA, Lecture Notes in Computer Science, 2863, Springer, 175-189.
 G. Booch, I. Jacobson, J. Rumbaugh, and J. Rumbaugh, The Unified Modeling Language User Guide. Addison-Wesley, 1998.
 L.P. Carloni, F. De Bernardinis, A. Sangiovanni-Vincentelli, and M. Sgroi, "The art and science of integrated systems design", in: Proc. of 28th European Solid-State Circuits Conference (ESSCIRC 2002), 2002, Florence, Italy, 25-36.
 J.K. Cross and D.C. Schmidt, "Meta-programming techniques for distributed real-time and embedded systems", in: Proc. of 7th IEEE Int. Workshop on Object-Oriented Real-Time Dependable Systems, January 7-9, 2002, San Diego, CA, USA, 3-10.
 K. Czarnecki and U. Eisenecker, Generative Programming: Methods, Tools and Applications, Addison-Wesley, 2001.
 K. Czarnecki and U.W. Eisenecker, "Separating the configuration aspect to support architecture evolution", in: Proc. of 14th European Conference on Object-Oriented Programming (ECOOP-2000), Int. Workshop on Aspects and Dimensions of Concerns, Cannes, France, June 11-12, 2000.
 R. Dama┼íevi─ìius and V. ┼átuikys, "Wrapping of soft IPs for interfacebased design using heterogeneous metaprogramming". INFORMATICA, 14 (1), 3-18, Lithuanian Academy of Sciences, Vilnius, 2003.
 R. Dama┼íevi─ìius, G. Majauskas, and V. ┼átuikys, "Application of design patterns for hardware design", in: Proc. of 40th Design Automation Conference (DAC 2003), 2-6 June, 2003, Anaheim, CA, USA, 48-53.
 R. Dama┼íevi─ìius and V. ┼átuikys. "Application of UML for Hardware Design Based on Design Process Model", in: Proc. of Asia South Pacific Design Automation Conference (ASP-DAC 2004), January 27-30, 2004, Yokohama, Japan, pp. 244-249. IEEE.
 S. Djokic, G. Succi, W. Pedrycz, and M. Mintchev, "Meta Analysis - a Method of Combining Empirical Results and its Application in Object- Oriented Software Systems", Proc. of the 7th Int. Conference on Object- Oriented Information Systems, Calgary, Alberta, August 2001.
 P. Donohoe (Ed.), Software Product Lines: Experience and Research Directions, Kluwer Academic Publisher, Boston, 2000.
 F. Doucet and R.K. Gupta, "Microelectronic System-on-Chip modeling using objects and their relationships", in: Online Symposium for Electrical Engineers (OSEE 2000).
 B.P. Douglass, "Fine grained patterns for real-time systems", in: L. Lavagno, G. Martin, and B. Selic (eds.), UML for Real, 149-170. Kluwer Academic Publishers, Boston, 2003.
 C. Dumoulin, P. Boulet, J. Dekeyser, and P. Marquet, "MDA for SoC Design, intensive signal processing experiment", in: Forum on Design Languages (FDL'03), Frankfurt am Main, Germany, 2003.
 L. Entrena, C. Lopez, and E. Olias, "Automatic generation of fault tolerant VHDL designs in RTL", in: Forum on Design Languages (FDL-2001), Lyon, France, 2001.
 A. Evans, R. France, K. Lano, and B. Rumpe, "Meta-modeling Semantics of UML", in: H. Kilov (ed.), Behavioural Specifications for Businesses and Systems. Kluwer Academic Publishers, 1999.
 U. Fayyad, G.G. Grinstein, and A. Wierse (eds.), "Information Visualization in Data Mining and Knowledge Discovery", in: U. Fayyad, G.G. Grinstein, and A. Wierse (eds.). Information Visualization in Data Mining and Knowledge Discovery. Morgan Kaufman, London/San Francisco, 2002.
 J.M. Fernandes, R.J. Machado, and H.D. Santos, "Modeling industrial embedded systems with UML", in: Proc. of 8th IEEE/IFIP/ACM Int. Workshop on Hardware/Software Co-Design (CODES'2000), 2000, San Diego, CA, USA, 18-23.
 G. Fischer and E. Giaccardi, "Meta-Design: A Framework for the Future of End-User Development", in Lieberman, H., Patern├▓, F., and Wulf, V. (Eds), End User Development - Empowering People to Flexibly Employ Advanced Information and Communication Technology, Kluwer Academic Publishers, Dordrecht, The Netherlands, 2004.
 G. Fischer and E. Scharff, "Meta-DesignÔÇöDesign for Designers", Proc. of 3rd Int. Conference on Designing Interactive Systems (DIS 2000), New York, pp. 396-405.
 E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
 J.P. van Gigch, System Design Modeling and Metamodeling, Plenum Press, New York, 1991.
 T. Givargis, 2000. Intel 8051 micro-controller, http://www.cs.ucr.edu/~dalton/i8051/i8051syn/
 G. de Jong, "A UML-based design methodology for real-time and embedded systems", in: Proc. of Design Automation and Test in Europe (DATE 2002), 4-8 March, 2002, Paris, France, 776-778.
 D. Kafura, Object-Oriented Software Design and Construction with C++, Prentice Hall, 1997.
 K.C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, and M. Huh, "FORM: A feature-oriented reuse method with domain-specific architectures". Annals of Software Engineering, 5, 1998, 143-168.
 A.S. Karrer and W. Scacchi, "Meta-Environments For Software Production", International Journal of Software Engineering and Knowledge Engineering, Vol. 3(1), 1993, pp. 139-162.
 D. Kessner, 1999. Free-6502 core, http://www.free-ip.com/6502/
 K. Keutzer, S. Malik, A.R. Newton, J.M. Rabaey, and A. Sangiovanni- Vincentelli, "System level de-sign: orthogonalization of concerns and platform-based design", IEEE Trans. on CAD of ICs and Systems, 19 (12), 2000, 1523-1543.
 G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J.- M. Loingtier, and J. Irwin, "Aspect-oriented programming", Proc. of the European Conference on Object-Oriented Programming (ECOOP-1997). Lecture Notes in Computer Science, 1241, Springer- Verlag, 220-242.
 H. K├╝hn, and M. Murzek, "Interoperability Issues in Metamodelling Platforms", in: Proc. of the 1st Int. Conf. on Interoperability of Enterprise Software and Applications (INTEROP-ESA'05), Geneva, Switzerland, February 2005, Springer Verlag.
 J. de Lara, H. Vangheluwe, and M. Alfonseca, "Meta-modelling and graph grammars for multi-paradigm modelling in AtoM", Software and Systems Modeling 3(3), Aug 2004, pp. 194-209.
 L. Lavagno, G. Martin, and B. Selic, UML for Real. Kluwer Academic Publishers, Boston, 2003.
 E.A. Lee and A. Sangiovanni-Vincentelli, "A framework for comparing models of computation", IEEE Transactions on CAD, 17 (12), 1998, 1217-1229.
 LEOX Team, 2001. DRAGONFLY micro-core, http://www.leox.org
 B. Liccardi, T. Maier-Komor, J.A. Oswald, M. Elkotob, and G. F├ñrber, "A meta-modeling concept for embedded RT-systems design", in: 14th Euromicro Conference on Real-Time Systems, 19-21 June, 2002, Vienna, Austria.
 W. Löwe and M. Noga, "Metaprogramming applied to web component deployment", Electronic Notes in Theoretical Computer Science, 65(4), 2002.
 A. Ludwig and D. Heuzerouth, "Metaprogramming in the large", in: G. Butler and S. Jarzabek (Eds.), Generative and Component-Based Software Engineering. Lecture Notes in Computer Science, 2177, 178- 187. Springer, 2001.
 G. Martin, "UML for embedded systems specification and design: motivation and overview", in: Proc. of Design, Automation and Test in Europe (DATE-2002), March 4-8, 2002, Paris, France, 773-775.
 S. Meguerdichian, F. Koushanfar, A. Mogre, D. Petranovic, and M. Potkonjak, "MetaCores: design and optimization techniques", in: Proc. of Design Automation Conference (DAC-2001), June 18-22, 2001, Las Vegas, Nevada, USA, 585-590.
 A. Mihal, C. Kulkarni, C. Sauer, K. Vissers, M. Moskewicz, M. Tsai, N. Shah, S. Weber, Y. Jin, K. Keutzer, S. Malik, "A Disciplined Approach to the Development of Architectural Platforms". IEEE Design and Test of Computers, 19, 2-12, 2002.
 D. de Niz and R. Rajkumar, "Model-based embedded real-time software development", in: 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2003), Workshop on Model-Driven Embedded Systems (MDES 2003), May 27-30, 2003, Washington DC, USA.
 Object Management Group (OMG), 2001. Model-Driven Architecture: A Technical Perspective. Technical Document.
 H. Ossher and P. Tarr, "Multi-Dimentional Separation of Concerns and the Hyperspace Approach", in: Software Architectures and Component Technology: The State of the Art in Software Development, M. Aksit, Ed., Kluwer Academic Publishers, Boston, 2001.
 M.J. Pont and M.P. Banner, "Designing embedded systems using patterns: a case study", Journal of Systems and Software, 71(3), 201- 213, 2004.
 A. Rajawat, M. Balakrishnan, and A. Kumar, "Interface synthesis: issues and approaches", in: Proc. of the 13th Int. Conference on VLSI Design, January 3-7, 2000, Calcutta, India, 92-97.
 D. Riehle and H. Zellighoven, "Understanding and using patterns in software development", Theory and Practice of Object Systems, 2 (1), 3- 13, 1996.
 J. Rowson and A. Sangiovanni-Vincentelli, "Interface-based design", in: Proc. of the 34th Design Automation Conference (DAC 97), June 9-13, 1997, Anaheim, CA, USA, 178-183.
 A. Ryman, "Requirements for a metaprogramming language", Presentation at the 24th meeting of IFIP Working Group 2.4, Kingston, Canada, 1990.
 A. Sangiovanni-Vincentelli and G. Martin, "A vision for embedded systems: platform-based design and software methodology", IEEE Design and Test of Computers, 18 (6), 23-33, 2001.
 B. Selic, "Architectural patterns for real-time systems", in: L. Lavagno, G. Martin, and B. Selic (eds.), UML for Real, 171-188. Kluwer Academic Publishers, Boston, 2003.
 Semiconductor Industry Association, The International Technology Roadmap for Semiconductors, 2001.
 T. Sheard, "Accomplishments and research challenges in metaprogramming", in: 2nd Int. Workshop on Semantics, Application, and Implementation of Program Generation (SAIG-2001), Florence, Italy. Lecture Notes in Computer Science, 2196, 2-44, 2001.
 V. ┼átuikys and R. Dama┼íevi─ìius, "Metaprogramming techniques for designing embedded components for ambient intelligence", in T. Basten, M. Geilen, and H. de Groot (eds.), Ambient Intelligence: Impact on Embedded System Design. Kluwer Academic Publishers, Boston, 2003, pp. 229-250.
 V. ┼átuikys, R. Dama┼íevi─ìius, and G. Ziberkas, "Open PROMOL: An Experimental Language for Target Program Modification", in: A. Mignotte, E. Villar, and L. Horobin (eds.), System on Chip Design Languages. Kluwer Academic Publishers, 2002.
 P.D. Terry, Compilers and Compiler Generators: An Introduction with C++. International Thomson Computer Press, 1997.
 F. Vahid and T. Givargis, Embedded System Design: A Unified Hardware/Software Introduction. John Wiley & Sons, 2002.
 T.L. Veldhuizen, "Using C++ template metaprograms". C++ Report 7(4), 36-43, 1995.
 D. Wallner, AX8 core, 2001, http://hem.passagen.se/dwallner/vhdl.html
 D.M. Weiss and C.T.R. Lai. Software Product-Line Engineering: A Family-Based Software Development Approach. Reading: Addison- Wesley, 1999.
 N. Yoshida, "Design patterns applied to object-oriented SoC design", Workshop on Synthesis and System Integration of Mixed Technologies (SASIMI 2001), 18-19 October, 2001, Nara, Japan.
 J. Zhu, "MetaRTL: raising the abstraction level of RTL design", in: Proc. Design Automation and Test in Europe (DATE 2001), March 13- 16, 2001, Munich, Germany, 71-76.
 Q. Zhu, A. Matsuda, S. Kuwamura, T. Nakata, and M. Shoji, "An objectoriented design technique for System-on-Chip using UML", in: Proc. of the 15th Int. Symposium on System Synthesis (ISSS 2002), 1-4 October, 2002, Kyoto, Japan, 249-254.
 J.W. Janneck and R. Esser, "Higher-order modeling and automated design-space exploration", in: Proceedings High-Performance Computing (HPC) 2002.
 M. Gries, "Methods for Evaluating and Covering the Design Space during Early Design Development". Integration, the VLSI Journal, Elsevier, 38(2):131-183, December 2004.
 R. Dama┼íevi─ìius and V. ┼átuikys, "Application of the Object-Oriented Principles for Hardware and Embedded System Design". Integration, the VLSI Journal, 2004, 38(2), pp. 309-339. Elsevier.
 M. Palesi and T. Givargis, "Multi-Objective Design Space Exploration Using Genetic Algorithms", in: International Workshop on Hardware/Software Codesign (CODES), Estes Park, May 2002.
 G. Palermo, C. Silvano and V. Zaccari, "Multi-Objective Design Space Exploration of Embedded Systems". Journal Of Embedded Computing, Vol. 1, No. 11, November 2002.
 D. Ikeda, S. Hirokawa and Y. Yamada, "Pattern Discovery of Genome Sequences by Substring Amplification", in: Proc. of Int. Symposium on Information Science and Electrical Engineering, pp. 637-640, November, 2003.
 R. Dama┼íevi─ìius and V. ┼átuikys, "Estimation of Power Consumption at Register-Transfer and Behavioral Modeling Levels Using SystemC". Submitted to Journal on Low Power Electronics (JOLPE).