Managing Software Complexity of Adaptive Systems

To survive under competitive pressure, embedded system companies build systems that can deal with changing customer needs and operating conditions, and deterioration of the hardware over the lifetime of the embedded system. Engineers face the challenge to design such adaptive systems, while keeping hardware costs low. To accomplish this, increasingly sophisticated control strategies are being designed and implemented in embedded systems. An example of such a sophisticated control strategy is runtime optimization of multiple system qualities, such as power consumption and productivity, and dynamically making trade-offs between such qualities (or objectives) based on (varying) user needs. Large part of the control logic of embedded systems is implemented in software. The implementation of sophisticated control strategies introduces additional complexity in embedded control software. Part of this complexity is inevitable: it is a result of essential complexity in the selected control strategy. However, the lack of structured methods to design and incorporate sophisticated control strategies in software and the lack of proper abstraction mechanisms in programming languages to express these strategies introduce accidental complexity in the software. Accidental complexity reduces software quality with respect to several quality criteria such as comprehensibility, reliability, maintainability and reusability. The subject of this thesis is how to manage the complexity introduced by sophisticated control strategies, and how to reduce the impact of this complexity on software quality. This thesis provides three main contributions. First, this thesis proposes a novel technique to compose domain-specific models of physical characteristics (physical models) with control software modules written in a general-purpose programming language. As such, it combines the benefits of domain-specific abstractions in a domain-specific modeling language with the freedom of a general-purpose programming language. Second, this thesis provides a method for runtime verification of models of physical characteristics that are utilized in embedded control software, as such models may be wrong or inaccurate. Third, this thesis presents a structured method to include multi-objective optimization solutions in the architecture of embedded control software. This method prevents tailored solutions and tight integration of optimization algorithms with control software modules.

[1]  Mary Shaw,et al.  Software architecture: the next step for object technology (panel) , 1993, OOPSLA '93.

[2]  Aniruddha S. Gokhale,et al.  An Approach for Supporting Aspect-Oriented Domain Modeling , 2003, GPCE.

[3]  Hitoshi Komoto,et al.  Computational Support for System Architecting , 2010 .

[4]  Thomas A. Henzinger,et al.  From control models to real-time code using Giotto , 2003 .

[5]  Tim Sheard,et al.  A software engineering experiment in software component generation , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[6]  Jens Krinke,et al.  Interference Analysis for AspectJ , 2003 .

[7]  Xavier Gandibleux,et al.  Multiple Criteria Optimization: State of the Art Annotated Bibliographic Surveys , 2013 .

[8]  Lodewijk Bergmans,et al.  An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach , 1992, ECOOP.

[9]  Koushik Sen,et al.  Rule-Based Runtime Verification , 2004, VMCAI.

[10]  R. L. Keeney,et al.  Decisions with Multiple Objectives: Preferences and Value Trade-Offs , 1977, IEEE Transactions on Systems, Man, and Cybernetics.

[11]  Twan Basten,et al.  Model-Driven Design-Space Exploration for Embedded Systems: The Octopus Toolset , 2010, ISoLA.

[12]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[13]  Hasan Sözer,et al.  An architectural style for optimizing system qualities in adaptive embedded systems using Multi-Objective Optimization , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[14]  Tetsuo Tomiyama,et al.  STATE TRANSITION IN RECONFIGURABLE SYSTEMS , 2010, DAC 2010.

[15]  Leonard Steinborn International Organization for Standardization ISO 9001:2000 Quality Management Systems — Requirements , 2004 .

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

[17]  Sandeep Neema,et al.  Model-integrated Tools for the Design of Dynamically Reconfigurable Systems , 2000, VLSI Design.

[18]  Günter Kniesel,et al.  Detection and Resolution of Weaving Interactions , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[19]  Arie van Deursen,et al.  Little languages: little maintenance , 1998 .

[20]  Bran Selic,et al.  Using UML for Modeling Complex Real-Time Systems , 1998, LCTES.

[21]  Mehmet Aksit,et al.  Principles and Design Rationale of Composition Filters , 2004 .

[22]  Ralph L. Keeney,et al.  Decisions with multiple objectives: preferences and value tradeoffs , 1976 .

[23]  L. A. Zadeh,et al.  On the definition of adaptivity , 1963 .

[24]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.

[25]  Ian M. Holland,et al.  Contracts: specifying behavioral compositions in object-oriented systems , 1990, OOPSLA/ECOOP '90.

[26]  Jayadev Misra,et al.  The Orc Programming Language , 2009, FMOODS/FORTE.

[27]  Darío Maravall,et al.  Adaptation, anticipation and rationality in natural and artificial systems: computational paradigms mimicking nature , 2008 .

[28]  Ching-Lai Hwang,et al.  Fuzzy Multiple Attribute Decision Making - Methods and Applications , 1992, Lecture Notes in Economics and Mathematical Systems.

[29]  Robert T. Eckenrode,et al.  Weighting Multiple Criteria , 1965 .

[30]  Lou J. Somers,et al.  Experiences and Lessons Learned Using UML-RT to Develop Embedded Printer Software , 2002, PROFES.

[31]  Andrew M. Kuhn,et al.  Code Complete , 2005, Technometrics.

[32]  B. Hobbs A COMPARISON OF WEIGHTING METHODS IN POWER PLANT SITING , 1980 .

[33]  Christoph Bockisch,et al.  Applying the Composition Filter Model for Runtime Verification of Multiple-Language Software , 2009, 2009 20th International Symposium on Software Reliability Engineering.

[34]  Wayne L. Winston Operations research: applications and algorithms / Wayne L. Winston , 2004 .

[35]  Jan M. Maciejowski,et al.  Predictive control : with constraints , 2002 .

[36]  P. Siarry,et al.  Multiobjective Optimization: Principles and Case Studies , 2004 .

[37]  Stefan Van Baelen,et al.  CoConES: An Approach for Components and Contracts in Embedded Systems , 2005, Component-Based Software Development for Embedded Systems.

[38]  J. C. Wichman Composej: the development of a preprocessor to facilitate composition filters in the java language , 1999 .

[39]  F. Y. Edgeworth Mathematical Psychics: An Essay on the Application of Mathematics to the Moral Sciences , 2007 .

[40]  Paul Ward,et al.  Structured Development for Real-Time Systems , 1986 .

[41]  Ramon R. H. Schiffelers,et al.  Supervisory control synthesis for a patient support system , 2009, 2009 European Control Conference (ECC).

[42]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[43]  Pascal Durr,et al.  Resource-based Verification for Robust Composition of Aspects , 2008 .

[44]  Eduardo D. Sontag,et al.  Mathematical Control Theory: Deterministic Finite Dimensional Systems , 1990 .

[45]  Hideaki Takeda,et al.  Physical concept ontology for the knowledge intensive engineering framework , 2004, Adv. Eng. Informatics.

[46]  Jim Hugunin,et al.  Advice weaving in AspectJ , 2004, AOSD '04.

[47]  Twan Basten,et al.  An algebra of Pareto points , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[48]  Peter J. F. Lucas,et al.  Applying Bayesian Networks for Intelligent Adaptable Printing Systems , 2011, Solutions on Embedded Systems.

[49]  Kathi Fisler,et al.  Verifying aspect advice modularly , 2004, SIGSOFT '04/FSE-12.

[50]  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.

[51]  Jasen Markovski,et al.  A state-based framework for supervisory control synthesis and verification , 2010, 49th IEEE Conference on Decision and Control (CDC).

[52]  T. L. Saaty A Scaling Method for Priorities in Hierarchical Structures , 1977 .

[53]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[54]  Peter Zoeteweij,et al.  Automated Fault Diagnosis in Embedded Systems , 2008, 2008 Second International Conference on Secure System Integration and Reliability Improvement.

[55]  M. h. j. Glandrup Extending C++ using the concepts of composition filters , 1995 .

[56]  Kenneth D. Forbus Qualitative Process Theory , 1984, Artificial Intelligence.

[57]  Guo-Ping Liu,et al.  Multiobjective Optimisation And Control , 2008 .

[58]  W. Weaver Science and complexity. , 1948, American scientist.

[59]  Jasbir S. Arora,et al.  Survey of multi-objective optimization methods for engineering , 2004 .

[60]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[61]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[62]  Christoph Bockisch,et al.  An efficient and flexible implementation of aspect-oriented languages , 2008, Ausgezeichnete Informatikdissertationen.

[63]  Thomas Ledoux,et al.  Supporting AOP Using Reflection , 2003 .

[64]  Lodewijk Bergmans,et al.  Compose*: a Language- and Platform-Independent Aspect Compiler for Composition Filters , 2008 .

[65]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[66]  Mark W. Maier,et al.  Software Architecture: Introducing IEEE Standard 1471 , 2001, Computer.

[67]  Lotfi A. Zadeh,et al.  Optimality and non-scalar-valued performance criteria , 1963 .

[68]  Malou M-Louise Haine,et al.  De Smet L. , 1986 .

[69]  P. Rousseeuw,et al.  Wiley Series in Probability and Mathematical Statistics , 2005 .

[70]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[71]  Barbara G. Ryder,et al.  Constructing the Call Graph of a Program , 1979, IEEE Transactions on Software Engineering.

[72]  P. P. J. van den Bosch,et al.  Model-free optimization based feedforward control for an inkjet printhead , 2010, 2010 IEEE International Conference on Control Applications.

[73]  A. J. de Roo Towards More Robust Advice: Message Flow Analysis for Composition Filters and its Application , 2007 .

[74]  Shmuel Katz,et al.  Modular Generic Verification of LTL Properties for Aspects , 2006 .

[75]  Hasan Sözer,et al.  Runtime Verification of Domain-Specific Models of Physical Characteristics in Control Software , 2011, 2011 Fifth International Conference on Secure Software Integration and Reliability Improvement.

[76]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[77]  Alberto L. Sangiovanni-Vincentelli,et al.  Metamodels in Europe: Languages, Tools, and Applications , 2009, IEEE Design & Test of Computers.

[78]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[79]  Christian Glaßer,et al.  Approximability and Hardness in Multi-objective Optimization , 2010, CiE.

[80]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[81]  Rajiv D. Banker,et al.  Software complexity and maintenance costs , 1993, CACM.

[82]  Johannes F. Broenink,et al.  Modelling, Simulation and Analysis with 20-Sim , 1997 .

[83]  Grigore Rosu,et al.  Mop: an efficient and generic runtime verification framework , 2007, OOPSLA.

[84]  Peter Zoeteweij,et al.  Spectrum-Based Multiple Fault Localization , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[85]  Ann Q. Gates,et al.  A taxonomy and catalog of runtime software-fault monitoring tools , 2004, IEEE Transactions on Software Engineering.

[86]  Rémi Douence,et al.  A Framework for the Detection and Resolution of Aspect Interactions , 2002, GPCE.

[87]  G. Provan,et al.  The Lydia Approach to Combinational Model-Based Diagnosis , 2009 .

[88]  Robert H. Bishop Modern Control Systems Analysis and Design Using Matlab , 1993 .

[89]  J. Voogd,et al.  Multicriteria evaluation for urban and regional planning , 1982 .

[90]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[91]  Ching-Lai Hwang,et al.  Multiple attribute decision making : an introduction , 1995 .

[92]  Anand R. Tripathi,et al.  Data abstraction mechanisms in SINA/ST , 1988, OOPSLA 1988.

[93]  Akinori Yonezawa,et al.  Abstracting Object Interactions Using Composition Filters , 1993, ECOOP Workshop.

[94]  Christoph Bockisch,et al.  A feature model and development approach for schedulers , 2011, MISS@AOSD.

[95]  Philip Koopman,et al.  Embedded system design issues (the rest of the story) , 1996, Proceedings International Conference on Computer Design. VLSI in Computers and Processors.

[96]  Richard N. Taylor,et al.  ArchStudio 4: An Architecture-Based Meta-Modeling Environment , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[97]  H. JoséAntonioMartín,et al.  Adaptation, anticipation and rationality in natural and artificial systems: computational paradigms mimicking nature , 2009, Natural Computing.

[98]  James E. Tomayko,et al.  The structural complexity of software an experimental test , 2005, IEEE Transactions on Software Engineering.

[99]  V. Pareto,et al.  Vilfredo Pareto. Cours d’Économie Politique , 1897 .

[100]  Lodewijk Bergmans,et al.  A graph-based approach to modeling and detecting composition conflicts related to introductions , 2007, AOSD.

[101]  Ian M. Holland,et al.  Specifying Reusable Components Using Contracts , 1992, ECOOP.

[102]  Charles Gide,et al.  Cours d'économie politique , 1911 .

[103]  Michael Marcotty Software implementation , 1991, Practical software engineering series.

[104]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .