Architectural Decisions for HW/SW Partitioning Based on Multiple Extra-Functional Properties

Growing advances in hardware technologies are enabling significant improvements in application performance by the deployment of components to dedicated executable units. This is particularly valid for Cyber Physical Systems in which the applications are partitioned in HW and SW execution units. The growing complexity of such systems, and increasing requirements, both project- and product-related, makes the partitioning decision process complex. Although different approaches to this decision process have been proposed during recent decades, they lack the ability to provide relevant decisions based on a larger number of requirements and project/business constraints. A sound approach to this problem is taking into account all relevant requirements and constraints and their relations to the properties of the components deployed either as HW or SW units. A typical approach for managing a large number of criteria is a multicriteria decision analysis. This, in its turn, requires uniform definitions of component properties and their realization in respect to their HW/SW deployment. The aim of this paper is twofold: a) to provide an architectural metamodel of component-based applications with specifications of their properties with respect to their partitioning, and b) to categorize component properties in relation to HW/SW deployment. The metamodel enables the transition of system requirements to system and component properties. The categorization provides support for architectural decisions. It is demonstrated through a property guideline for the partitioning of the System Automation and Control domain. The guideline is based on interviews with practitioners and researchers, the experts in this domain.

[1]  Jeffry T. Russell,et al.  Embedded architect: a tool for early performance evaluation of embedded software , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[2]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[3]  Jean-Michel Bruel,et al.  A Model-Driven Engineering Framework for Fault Tolerance in Dependable Embedded Systems Design , 2012, 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.

[4]  M. Ramachandran,et al.  Application of multi-criteria decision making to sustainable energy planning--A review , 2004 .

[5]  Rick Kazman,et al.  Decision-making techniques for software architecture design: A comparative survey , 2011, CSUR.

[6]  Ivica Crnkovic,et al.  Modelling for Hardware and Software Partitioning Based on Multiple Properties , 2013, 2013 39th Euromicro Conference on Software Engineering and Advanced Applications.

[7]  Andrea De Montis,et al.  Assessing the quality of different MCDA methods , 2004 .

[8]  Garrison W. Greenwood,et al.  Preference-driven hierarchical hardware/software partitioning , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[9]  Ralf Niemann Hardware, software co-design for data flow dominated embedded systems , 1998 .

[10]  F. B. Vernadat,et al.  Decisions with Multiple Objectives: Preferences and Value Tradeoffs , 1994 .

[11]  W. Glauert,et al.  Linking codesign and reuse in embedded systems design , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[12]  Garrison W. Greenwood,et al.  An Evolutionary Approach to Hardware/ Software Partitioning , 1996, PPSN.

[13]  Giovanni Beltrame,et al.  A comparative evaluation of multi-objective exploration algorithms for high-level design , 2014, TODE.

[14]  Matthias Gries,et al.  Methods for evaluating and covering the design space during early design development , 2004, Integr..

[15]  Gabor Karsai,et al.  Design patterns for open tool integration , 2005, Software & Systems Modeling.

[16]  Eric Senn,et al.  Modelling the Power and Energy Consumption of NIOS II Softcores on FPGA , 2012, 2012 IEEE International Conference on Cluster Computing Workshops.

[17]  Wu Jigang,et al.  Efficient heuristic algorithms for path-based hardware/software partitioning , 2010, Math. Comput. Model..

[18]  Alessio Ishizaka,et al.  How to derive priorities in AHP: a comparative study , 2006, Central Eur. J. Oper. Res..

[19]  Rosbi Mamat,et al.  Service based meta-model for the development of distributed embedded real-time systems , 2013, Real-Time Systems.

[20]  R. Kalaba,et al.  A comparison of two methods for determining the weights of belonging to fuzzy sets , 1979 .

[21]  Giovanni De Micheli,et al.  Readings in hardware / software co-design , 2001 .

[22]  F. Salewski,et al.  Systematic considerations for the application of FPGAs in industrial applications , 2008, 2008 IEEE International Symposium on Industrial Electronics.

[23]  David J. Weiss,et al.  SMARTS and SMARTER: Improved Simple Methods for Multiattribute Utility Measurement , 2008 .

[24]  Séverine Sentilles,et al.  A Classification Framework for Software Component Models , 2011, IEEE Transactions on Software Engineering.

[25]  Graham K. Rand,et al.  Quantitative Applications in the Social Sciences , 1983 .

[26]  Cecilia Mascolo,et al.  Reconfigurable Component-based Middleware for Networked Embedded Systems , 2007, Int. J. Wirel. Inf. Networks.

[27]  Rajesh Gupta,et al.  Hardware/software co-design , 1996, Proc. IEEE.

[28]  Daniel Vanderpooten,et al.  The interactive approach in MCDA: A technical framework and some basic conceptions , 1989 .

[29]  Séverine Sentilles,et al.  A Component Model for Control-Intensive Distributed Embedded Systems , 2008, CBSE.

[30]  Ali Jahan,et al.  Multi-criteria Decision Analysis for Supporting the Selection of Engineering Materials in Product Design , 2013 .

[31]  C. Hwang Multiple Objective Decision Making - Methods and Applications: A State-of-the-Art Survey , 1979 .

[32]  Mikael Sjödin,et al.  Towards Accurate Monitoring of Extra-Functional Properties in Real-Time Embedded Systems , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[33]  Peter Marwedel,et al.  Hardware/software partitioning using integer programming , 1996, Proceedings ED&TC European Design and Test Conference.

[34]  Ivica Crnkovic,et al.  SaveCCM - a component model for safety-critical real-time systems , 2004, Proceedings. 30th Euromicro Conference, 2004..

[35]  Christian Prehofer,et al.  A Multi-Layered Control Approach for Self-Adaptation in Automotive Embedded Systems , 2012, Adv. Softw. Eng..

[36]  Teemu Tiainen,et al.  Comparative study of multiple criteria decision making methods for building design , 2012, Adv. Eng. Informatics.

[37]  Ching-Lai Hwang,et al.  Multiple Attribute Decision Making: Methods and Applications - A State-of-the-Art Survey , 1981, Lecture Notes in Economics and Mathematical Systems.

[38]  SilvanoCristina,et al.  Multi-objective design space exploration of embedded systems , 2005 .

[39]  Eelco Visser,et al.  Proceedings of the ninth international conference on Generative programming and component engineering , 2010, GPCE 2010.

[40]  M. El Shobaki Verification of embedded real-time systems using hardware/software co-simulation , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[41]  R. Baltussen,et al.  Priority setting of health interventions: the need for multi-criteria decision analysis , 2006, Cost effectiveness and resource allocation : C/E.

[42]  Theodor J. Stewart,et al.  Multiple criteria decision analysis - an integrated approach , 2001 .

[43]  Cheng-Wei Lin,et al.  Multi-criteria analysis of alternative-fuel buses for public transportation , 2005 .

[44]  Guillermo A. Mendoza,et al.  Multiple criteria decision making approaches to assessing forest sustainability using criteria and indicators: a case study , 2000 .

[45]  Gaetano Manfredi,et al.  Comparative Analysis of Multi‐Criteria Decision‐Making Methods for Seismic Structural Retrofitting , 2009, Comput. Aided Civ. Infrastructure Eng..

[46]  Patrick Schaumont,et al.  A Practical Introduction to Hardware/Software Codesign , 2010 .

[47]  Jürgen Teich,et al.  Hardware/Software Codesign: The Past, the Present, and Predicting the Future , 2012, Proceedings of the IEEE.

[48]  Raimo P. Hämäläinen,et al.  Decision support by interval SMART/SWING - methods to incorporate uncertainty into multiattribute analysis , 2001 .

[49]  Vittorio Zaccaria,et al.  Using multi-objective design space exploration to enable run-time resource management for reconfigurable architectures , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[50]  Oscar Nierstrasz,et al.  A Component Model for Field Devices , 2002, Component Deployment.

[51]  Jian-Bo Yang,et al.  Introduction to Multi-Criteria Decision Making and the Evidential Reasoning Approach , 2004 .

[52]  Jean-Philippe Babau,et al.  A component-based run-time evolution infrastructure for resource-constrained embedded systems , 2010, GPCE '10.

[53]  Séverine Sentilles,et al.  Evolution management of extra-functional properties in component-based embedded systems , 2011, CBSE '11.

[54]  Jian-Bo Yang,et al.  An Intelligent Decision System Based on the Evidential Reasoning Approach and its Applications , 2003 .

[55]  Jim A. McCall,et al.  Factors in Software Quality. Volume I. Concepts and Definitions of Software Quality , 1977 .

[56]  Jörg Henkel,et al.  An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation techniques , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[57]  Mary Shaw,et al.  Writing good software engineering research papers: minitutorial , 2003, ICSE 2003.

[58]  Wolfgang Schröder-Preikschat,et al.  Functional and non-functional properties in a family of embedded operating systems , 2005, 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[59]  Ivica Crnkovic,et al.  Building Reliable Component-Based Software Systems , 2002 .

[60]  Juha-Pekka Soininen,et al.  Cosimulation of real-time control systems , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[61]  Niraj K. Jha,et al.  MOCSYN: multiobjective core-based single-chip system synthesis , 1999, DATE '99.

[62]  Constantin Zopounidis,et al.  Multicriteria classification and sorting methods: A literature review , 2002, Eur. J. Oper. Res..

[63]  Floyd J. Fowler,et al.  Survey Research Methods , 1984 .

[64]  Guillermo A. Mendoza,et al.  Multi-criteria decision analysis in natural resource management: A critical review of methods and new modelling paradigms , 2006 .

[65]  R. Marler,et al.  The weighted sum method for multi-objective optimization: new insights , 2010 .

[66]  Thomas L. Saaty,et al.  Models, Methods, Concepts & Applications of the Analytic Hierarchy Process , 2012 .

[67]  Christian Prehofer,et al.  Modeling and efficient solving of extra-functional properties for adaptation in networked embedded real-time systems , 2013, J. Syst. Archit..

[68]  J. Alavalapati,et al.  Exploring the potential for silvopasture adoption in south-central Florida: an application of SWOT–AHP method , 2004 .

[69]  Frank Vahid,et al.  Embedded system design - a unified hardware / software introduction , 2001 .

[70]  Amir-Hossein Jahangir,et al.  A polynomial algorithm for partitioning problems , 2010, TECS.

[71]  M. Manjunathaiah,et al.  A Compositional Framework for Hardware/Software Co-Design , 2002, Des. Autom. Embed. Syst..

[72]  Jerzy W. Rozenblit,et al.  Performance analysis of embedded systems in the virtual component co-design environment , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[73]  Yang-Hsin Fan,et al.  Grey Relational Hardware-Software Partitioning for Embedded Multiprocessor FPGA Systems , 2011 .

[74]  Petru Eles,et al.  System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search , 1997, Des. Autom. Embed. Syst..

[75]  Donatella Sciuto,et al.  The Impact of Source Code Transformations on Software Power and Energy Consumption , 2002, J. Circuits Syst. Comput..

[76]  M. K. Kiker,et al.  Environmental Security in Harbors and Coastal Areas , 2007 .

[77]  Jan Carlson Timing analysis of component-based embedded systems , 2012, CBSE '12.

[78]  Jörg Henkel,et al.  Avalanche: an environment for design space exploration and optimization of low-power embedded systems , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[79]  Tiziana Margaria,et al.  jETI: A Tool for Remote Tool Integration , 2005, TACAS.

[80]  Lothar Thiele,et al.  Multi-criteria decision making in embedded system design , 2006 .

[81]  Theerayod Wiangtong,et al.  Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware–Software Codesign , 2002, Des. Autom. Embed. Syst..

[82]  Barry W. Johnson,et al.  The Codesign of Embedded Systems: A Unified Hardware/Software Representation , 1995, Springer US.

[83]  Barry W. Boehm,et al.  Quantitative evaluation of software quality , 1976, ICSE '76.

[84]  Paolo Giusto,et al.  Reliable estimation of execution time of embedded software , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[85]  Rolf Ernst,et al.  Codesign of Embedded Systems: Status and Trends , 1998, IEEE Des. Test Comput..

[86]  M. Bohanec,et al.  The Analytic Hierarchy Process , 2004 .

[87]  Jürgen Teich,et al.  An evolutionary approach to system-level synthesis , 1997, CODES.

[88]  Fei Xie,et al.  Unified Property Specification for Hardware/Software Co-Verification , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[89]  Paris Avgeriou,et al.  Mature Architecting - A Survey about the Reasoning Process of Professional Architects , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[90]  Lothar Thiele,et al.  Conflicting Criteria in Embedded System Design , 2000, IEEE Des. Test Comput..

[91]  Ivica Crnkovic,et al.  Concerning Predictability in Dependable Component-Based Systems: Classification of Quality Attributes , 2004, WADS.

[92]  Witold Pedrycz,et al.  Genetic algorithms for hardware-software partitioning and optimal resource allocation , 2007, J. Syst. Archit..

[93]  Vittorio Zaccaria,et al.  Multi-objective design space exploration of embedded systems , 2003, J. Embed. Comput..

[94]  Axel Jantsch,et al.  FPGA resource and timing estimation from Matlab execution traces , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[95]  Tiberiu Seceleanu,et al.  A Tool Integration Framework for Sustainable Embedded Systems Development , 2013, Computer.

[96]  Goran Brestovac,et al.  Applying Multi-Criteria Decision Analysis Methods in Embedded Systems Design , 2013 .

[97]  Brian Randell,et al.  Dependability and its threats - A taxonomy , 2004, IFIP Congress Topical Sessions.

[98]  Mary Shaw,et al.  What makes good research in software engineering? , 2002, International Journal on Software Tools for Technology Transfer.

[99]  Juan Carlos López,et al.  On the hardware-software partitioning problem: System modeling and partitioning techniques , 2003, TODE.

[100]  Ivica Crnkovic,et al.  Partitioning Decision Process for Embedded Hardware and Software Deployment , 2013, 2013 IEEE 37th Annual Computer Software and Applications Conference Workshops.

[101]  Wayne H. Wolf A Decade of Hardware/Software Codesign , 2003, Computer.

[102]  Miroslaw J. Skibniewski,et al.  Evaluation of Advanced Construction Technology with AHP Method , 1992 .

[103]  Karel Skokan Technological and Economic Development of Economy , 2011 .

[104]  Salvatore Greco,et al.  Rough sets theory for multicriteria decision analysis , 2001, Eur. J. Oper. Res..

[105]  Wu Jigang,et al.  Low-complex dynamic programming algorithm for hardware/software partitioning , 2006, Inf. Process. Lett..

[106]  Michel Auguin,et al.  HW / SW partitioning approach for reconfigurable system design , 2002, CASES '02.

[107]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[108]  Miryung Kim,et al.  Validity concerns in software engineering research , 2010, FoSER '10.

[109]  F. Lootsma Multi-Criteria Decision Analysis via Ratio and Difference Judgement , 1999 .

[110]  Séverine Sentilles,et al.  Energy management in embedded systems: Towards a taxonomy , 2012, 2012 First International Workshop on Green and Sustainable Software (GREENS).

[111]  Martin K. Purvis,et al.  Hardware/software codesign: a perspective , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.