Developing Reusable and Reconfigurable Real-Time Software using Aspects and Components

Our main focus in this thesis is on providing guidelines, methods, and tools for design, configuration, and analysis of configurable and reusable real-time software, developed using a combination of aspect-oriented and component-based software development. Specifically, we define a reconfigurable real-time component model (RTCOM) that describes how a real-time component, supporting aspects and enforcing information hiding, could efficiently be designed and implemented. In this context, we outline design guidelines for development of real-time systems using components and aspects, thereby facilitating static configuration of the system, which is preferred for hard real-time systems. For soft real-time systems with high availability requirements we provide a method for dynamic system reconfiguration that is especially suited for resourceconstrained real-time systems and it ensures that components and aspects can be added, removed, or exchanged in a system at run-time. Satisfaction of real-time constraints is essential in the real-time domain and, for real-time systems built of aspects and components, analysis is ensured by: (i) a method for aspectlevel worst-case execution time analysis; (ii) a method for formal verification of temporal properties of reconfigurable real-time components; and (iii) a method for maintaining quality of service, i.e., the specified level of performance, during normal system operation and after dynamic reconfiguration. We have implemented a tool set with which the designer can efficiently configure a real-time system to meet functional requirements and analyze it to ensure that non-functional requirements in terms of temporal constraints and available memory are satisfied. In this thesis we present a proof-of-concept implementation of a configurable embedded real-time database, called COMET. The implementation illustrates how our methods and tools can be applied, and demonstrates that the proposed solutions have a positive impact in facilitating efficient development of families of realtime systems.

[1]  Jörgen Hansson,et al.  Application-tailored database systems: a case of aspects in an embedded database , 2004, Proceedings. International Database Engineering and Applications Symposium, 2004. IDEAS '04..

[2]  Awais Rashid,et al.  A Hybrid Approach to Separation of Concerns: The Story of SADES , 2001, Reflection.

[3]  Peter Bunus,et al.  Debugging techniques for equation-based languages , 2004 .

[4]  José A. Blakeley OLE DB: a component DBMS architecture , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[5]  Henryk Jan Komorowski,et al.  A specification of an abstract Prolog machine and its application to partial evaluation , 1981 .

[6]  Riccardo Bettati,et al.  Imprecise computations , 1994, Proc. IEEE.

[7]  Eva L. Ragnemalm,et al.  Student modelling based on collaborative dialogue with a learning companion , 1999 .

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

[9]  Jörgen Hansson,et al.  Pessimistic concurrency control and versioning to support database pointers in real-time databases , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[10]  K. Shin,et al.  Performance Guarantees for Web Server End-Systems: A Control-Theoretical Approach , 2002, IEEE Trans. Parallel Distributed Syst..

[11]  Jörgen Hansson,et al.  Error-driven QoS management in imprecise real-time databases , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[12]  Jörgen Hansson,et al.  Robust quality management for differentiated imprecise data services , 2004, 25th IEEE International Real-Time Systems Symposium.

[13]  John A. Stankovic,et al.  A survey of configurable, component-based operating systems for embedded applications , 2001 .

[14]  Alan Burns,et al.  Guest Editorial: A Review of Worst-Case Execution-Time Analysis , 2000, Real-Time Systems.

[15]  Bruce W. Weide Component‐Based Systems , 2002 .

[16]  Hassan Gomaa Designing Real-Time and Embedded Systems with the COMET/UML method , 2001 .

[17]  Jörgen Hansson,et al.  Aspect-Level Worst-Case Execution Time Analysis of Real-Time Systems Compositioned Using Aspects and Components , 2003 .

[18]  S. Sudarshan,et al.  Improving Predictability of Transaction Execution Times in Real-time Databases , 2000, Real-Time Systems.

[19]  Sang Hyuk Son,et al.  Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms* , 2001, Real-Time Systems.

[20]  Joseph L. Hellerstein,et al.  Using Control Theory to Achieve Service Level Objectives In Performance Management , 2001, 2001 IEEE/IFIP International Symposium on Integrated Network Management Proceedings. Integrated Network Management VII. Integrated Management Strategies for the New Millennium (Cat. No.01EX470).

[21]  Jörgen Hansson,et al.  COMET: A Component-Based Real-Time Database for Automotive Systems , 2004, ICSE 2004.

[22]  Harold Ossher,et al.  Multi-Dimensional Separation of Concerns and the Hyperspace Approach , 2002 .

[23]  Daniel Mahrenholz,et al.  An Aspect-Oriented Implementation of Interrupt Synchronization in the PURE Operating System Family∗ , 2002 .

[24]  Klara Nahrstedt,et al.  2K: a distributed operating system for dynamic heterogeneous environments , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[25]  Emin Gün Sirer,et al.  SPIN—an extensible microkernel for application-specific operating system services , 1995, OPSR.

[26]  Jörgen Hansson,et al.  Data management issues in vehicle control systems: a case study , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[27]  Kathi Fisler,et al.  Verifying cross-cutting features as open systems , 2002, SIGSOFT '02/FSE-10.

[28]  Gregor Kiczales,et al.  Back to the future: a retroactive study of aspect evolution in operating system code , 2003, AOSD '03.

[29]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

[30]  Wolfgang Fleisch,et al.  Applying use cases for the requirements validation of component-based real-time software , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[31]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[32]  Jörgen Hansson,et al.  Specification and management of QoS in imprecise real-time databases , 2003, Seventh International Database Engineering and Applications Symposium, 2003. Proceedings..

[33]  H. Kopetz,et al.  Temporal composability [real-time embedded systems] , 2002 .

[34]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[35]  Jayant R. Haritsa,et al.  Real-time index concurrency control , 1996, SGMD.

[36]  Johan Fredriksson,et al.  Introducing a Component Technology for Safety Critical Embedded Real-Time Systems , 2004, CBSE.

[37]  Pär J. Ågerfalk Information Systems Actability: Understanding Information Technology as a Tool for Business Action and Communication , 2003 .

[38]  Bruce Powel Douglass Real-time UML - developing efficient objects for embedded systems , 1997, Addison-Wesley object technology series.

[39]  Elke Pulvermüller,et al.  From Object-Oriented to Aspect-Oriented Databases , 2000, DEXA.

[40]  Michael A. Olson,et al.  Selecting and Implementing an Embedded Database System , 2000, Computer.

[41]  Gordon S. Blair,et al.  A Tool Suite to Support Aspect-Oriented Specification , 1999, ECOOP Workshops.

[42]  Brian N. Bershad,et al.  Dynamic binding for an extensible system , 1996, OSDI '96.

[43]  Hector Garcia-Molina,et al.  Scheduling real-time transactions: a performance evaluation , 1988, TODS.

[44]  Mihalis Yannakakis Perspectives on database theory , 1996, SIGA.

[45]  Yi Wang,et al.  An Analysis Tool for UML Models with SPT Annotations , 2004 .

[46]  Tei-Wei Kuo,et al.  Application semantics and concurrency control of real-time data-intensive applications , 1992, [1992] Proceedings Real-Time Systems Symposium.

[47]  Gregor Kiczales,et al.  Using aspectC to improve the modularity of path-specific customization in operating system code , 2001, ESEC/FSE-9.

[48]  Fabio Kon,et al.  2K: A Reflective, Component-Based Operating System for Rapidly Changing Environments , 1998, ECOOP Workshops.

[49]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[50]  Gabriel A. Moreno,et al.  Enabling predictable assembly , 2003, J. Syst. Softw..

[51]  Jörgen Hansson,et al.  Algorithms for Managing QoS for Real-Time Data Services Using Imprecise Computation , 2003, RTCSA.

[52]  Berthold Reinwald,et al.  Data Access Interoperability in the IBM Database Family , 1998, IEEE Data Eng. Bull..

[53]  Peter Sawyer,et al.  Aspect-orientation and database systems: an effective customisation approach , 2001, IEE Proc. Softw..

[54]  Lui Sha,et al.  A Real-Time Locking Protocol , 1991, IEEE Trans. Computers.

[55]  Sang Hyuk Son,et al.  Real-Time Database Systems: Issues and Applications , 1997 .

[56]  Kimmo E. E. Raatikainen,et al.  A Distributed Real-Time Main-Memory Database for Telecommunication , 1999, Databases in Telecommunications.

[57]  Raimund Kirner,et al.  Avoiding timing problems in real-time software , 2003, Proceedings IEEE Workshop on Software Technologies for Future Embedded Systems. WSTFES 2003.

[58]  Pradeep K. Khosla,et al.  Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects , 1997, IEEE Trans. Software Eng..

[59]  Brian Ellis,et al.  Exploiting prescriptive aspects: a design time capability , 2004, EMSOFT '04.

[60]  Sang Hyuk Son,et al.  Real-Time Databases and Data Services , 2004, Real-Time Systems.

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

[62]  Steve Olson,et al.  The Sybase Architecture for Extensible Data Management , 1998, IEEE Data Eng. Bull..

[63]  S. B. Yao,et al.  Efficient locking for concurrent operations on B-trees , 1981, TODS.

[64]  Marvin Theimer,et al.  The Case for Non-transparent Replication: Examples from Bayou , 1998, IEEE Data Eng. Bull..

[65]  Bertrand,et al.  Component-Based Development : From Buzz to Spark , .

[66]  Jörgen Hansson,et al.  Enhancing feedback control scheduling performance by on-line quantification and suppression of measurement disturbance , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[67]  Jean J. Labrosse,et al.  MicroC/OS-II: The Real Time Kernel , 1998 .

[68]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[69]  Jami Montgomery A Model for Updating Real-Time Applications , 2004, Real-Time Systems.

[70]  José A. Blakeley Universal data access with OLE DB , 1997, Proceedings IEEE COMPCON 97. Digest of Papers.

[71]  Tei-Wei Kuo,et al.  Evaluation of concurrency control strategies for mixed soft real-time database systems , 2002, Inf. Syst..

[72]  A. Robertson,et al.  Analysis and design of admission control in Web-server systems , 2003, Proceedings of the 2003 American Control Conference, 2003..

[73]  Abraham Silberschatz,et al.  Database System Concepts , 1980 .

[74]  Michael J. Carey,et al.  A Study of Index Structures for a Main Memory Database Management System , 1986, HPTS.

[75]  Philip S. Yu,et al.  Divergence Control Algorithms for Epsilon Serializability , 1997, IEEE Trans. Knowl. Data Eng..

[76]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[77]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[78]  Sang Hyuk Son,et al.  A QoS-sensitive approach for timeliness and freshness guarantees in real-time databases , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[79]  M. Tamer Özsu,et al.  Distributed object computing platforms , 1998, CACM.

[80]  Gene F. Franklin,et al.  Digital control of dynamic systems , 1980 .

[81]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[82]  Azzelarabe Taleb-Bendiab,et al.  Component-Based Software development , 2003 .

[83]  Wang Yi,et al.  Compositional and symbolic model-checking of real-time systems , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[84]  Ralf H. Reussner,et al.  Using the TrustME Tool Suite for Automatic Component Protocol Adaptation , 2002, International Conference on Computational Science.

[85]  Jörgen Hansson,et al.  Generalized performance management of multi-class real-time imprecise data services , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[86]  Klara Nahrstedt,et al.  A control theoretical model for quality of service adaptations , 1998, 1998 Sixth International Workshop on Quality of Service (IWQoS'98) (Cat. No.98EX136).

[87]  Alan Burns,et al.  Hrt-Hood: A Structured Design Method for Hard Real-Time ADA Systems , 1995 .

[88]  R. van Ommering Building product populations with software components , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[89]  Tarek F. Abdelzaher,et al.  Differentiated caching services; a control-theoretical approach , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[90]  Georgios Nakos,et al.  Monitoring , 1976, Encyclopedia of the UN Sustainable Development Goals.

[91]  Lui Sha,et al.  Queueing model based network server performance control , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[92]  Kam-yiu Lam,et al.  On using similarity for concurrency control in real-time database systems , 1998, J. Syst. Softw..

[93]  Hongjun Lu,et al.  T-tree or B-tree: main memory database index structure revisited , 2000, Proceedings 11th Australasian Database Conference. ADC 2000 (Cat. No.PR00528).

[94]  Guillem Bernat,et al.  An Approach to Symbolic Worst-Case Execution Time Analysis , 2000 .

[95]  Jörgen Hansson,et al.  Integrating Symbolic Worst-Case Execution Time Analysis with Aspect-Oriented System Development , 2002 .

[96]  C. J. Date,et al.  Part I – Preliminaries , 2003 .

[97]  Young-Kuk Kim,et al.  A database server for distributed real-time systems: issues and experiences , 1994, Second Workshop on Parallel and Distributed Real-Time Systems.

[98]  Johan Fredriksson,et al.  Component-based context dependent hybrid property prediction , 2005 .

[99]  Jörgen Hansson,et al.  Aspects and components in real-time system development: Towards reconfigurable and reusable software , 2005, J. Embed. Comput..

[100]  Rajeev Alur,et al.  Timed Automata , 1999, CAV.

[101]  Marcel Birkhold,et al.  Towards an architecture for reactive systems using an active real-time database and standardized components , 1999, Proceedings. IDEAS'99. International Database Engineering and Applications Symposium (Cat. No.PR00265).

[102]  Klaus R. Dittrich,et al.  KIDS: Construction of Database Management Systems based on Reuse , 1997 .

[103]  Richard N. Taylor,et al.  Separating fact from fiction in software architecture , 1998, ISAW '98.

[104]  David E. Culler,et al.  System architecture directions for networked sensors , 2000, SIGP.

[105]  Christoph Kreitz,et al.  Building reliable, high-performance communication systems from components , 2000, OPSR.

[106]  Krithi Ramamritham Real-time databases , 2005, Distributed and Parallel Databases.

[107]  Raul Camposano,et al.  Embedded system design , 1996, Des. Autom. Embed. Syst..

[108]  Bruce Powell Douglass,et al.  Real-time UML (2nd ed.): developing efficient objects for embedded systems , 1997 .

[109]  Thomas A. Henzinger,et al.  Symbolic Model Checking for Real-Time Systems , 1994, Inf. Comput..

[110]  Hassan Gomaa,et al.  A software design method for real-time systems , 1984, CACM.

[111]  Brian Ellis,et al.  VEST: an aspect-based composition tool for real-time systems , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[112]  Uwe Aßmann,et al.  Invasive Software Composition , 2003, Springer Berlin Heidelberg.

[113]  Ivica Crnkovic,et al.  Specification, implementation, and deployment of components , 2002, CACM.

[114]  Karl-Erik Årzén,et al.  Feedback–Feedforward Scheduling of Control Tasks , 2002, Real-Time Systems.

[115]  Philip A. Bernstein,et al.  Categories and Subject Descriptors: H.2.4 [Database Management]: Systems. , 2022 .

[116]  David B. Stewart,et al.  Dynamically reconfigurable embedded software - Does it make sense? , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[117]  Yoav Raz,et al.  Concurrency Control in B+-Trees Databases Using Preparatory Operations , 1985, VLDB.

[118]  Gerhard Fohler,et al.  The design of real-time systems: from specification to implementation and verification , 1991, Softw. Eng. J..

[119]  Bernd J. Krämer,et al.  Modelling Predictable Component-Based Distributed Control Architectures , 2003, 2003 The Ninth IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[120]  Manuel Díaz,et al.  Integrating real-time analysis in a component model for embedded systems , 2004 .

[121]  Ronghua Zhang,et al.  Practical application of control theory to Web services , 2004, Proceedings of the 2004 American Control Conference.

[122]  Frank Mueller,et al.  Feedback EDF scheduling exploiting dynamic voltage scaling , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[123]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[124]  Jörgen Hansson,et al.  DeeDS towards a distributed and active real-time database system , 1996, SGMD.

[125]  Don Towsley,et al.  Scheduling In Real-Time Transaction Systems , 1991 .

[126]  Philip S. Yu,et al.  Impact of large memory on the performance of optimistic concurrency control schemes , 1990, Proceedings. PARBASE-90: International Conference on Databases, Parallel Architectures, and Their Applications.

[127]  Klaus R. Dittrich,et al.  Component Database Systems: Introduction, Foundations, and Overview , 2001, Compontent Database Systems.

[128]  Guillem Bernat,et al.  pWCET: a Tool for Probabilistic Worst-Case Execution Time Analysis of Real-Time Systems , 2003 .

[129]  Rudolf Bayer,et al.  Concurrency of operations on B-trees , 1994, Acta Informatica.

[130]  Henny B. Sipma,et al.  A Formal Model for Cross-cutting Modular Transition Systems , 2003 .

[131]  M. Degroot,et al.  Probability and Statistics , 1977 .

[132]  David S. Stewart Designing software components for real-time applica-tions , 2000 .

[133]  Gregory D. Abowd,et al.  Using style to understand descriptions of software architecture , 1993, SIGSOFT '93.

[134]  C. Mohan,et al.  ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes , 1990, VLDB.

[135]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[136]  Chenyang Lu,et al.  Feedback performance control in software services , 2003 .

[137]  Chenyang Lu,et al.  Hybrid supervisory utilization control of real-time systems , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[138]  Deborah Estrin,et al.  ASCENT: adaptive self-configuring sensor networks topologies , 2004, IEEE Transactions on Mobile Computing.

[139]  Anders Wall,et al.  Architectural Modeling and Analysis of Complex Real-Time Systems , 2003 .

[140]  Hassan Gomaa A software design method for Ada based real time systems , 1989, WADAS '89.

[141]  Jörgen Hansson,et al.  Embedded Databases for Embedded Real-Time Systems: A Component-Based Approach1 , 2002 .

[142]  Kathi Fisler,et al.  Interfaces for modular feature verification , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[143]  A Stankovic John VEST: A Toolset for Constructing and Analyzing Component Based Operating Systems For Embedded and Real-Time Systems , 2000 .

[144]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..

[145]  Karl Johan Åström,et al.  Adaptive Control , 1989, Embedded Digital Control with Microcontrollers.

[146]  Heinz W. Schmidt,et al.  Trustworthy components - compositionality and prediction , 2003, J. Syst. Softw..

[147]  Damir Isovic Components in Real-Time Systems , 2002 .

[148]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .