Using Step-Wise Refinement to Build a Flexible Lightweight Storage Manager

  • Thomas Leich
  • Sven Apel
  • Gunter Saake
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3631)


In recent years the deployment of embedded systems has increased dramatically, e.g. in the domains of sensor networks or ubiquitous computing. At the same time the amount of data that have to be managed by embedded systems is growing rapidly. For this reason an adequate data management support is urgently needed. Current database technologies are not able to cope with the requirements specific to embedded environments. Especially the extreme resource constraints and the diversity of hardware plattforms and operating systems are challenging. To overcome this tension we argue that embedded database functionality has to be tailored to the application scenario as well as to the target platform. This reduces the resource consumption and customizes the data management to the characteristices of the plattform and the application scenarion. We show that component techniques and feature-oriented programming help to face the mentioned limitations without focusing on special-purpose software. We present the design and the implementation of a database storage manager family. We discuss how feature-oriented domain analysis and feature-oriented programming help to do this task. Our evaluation criteria are the number of features and the flexibility to combine these features in different valid variants.


Sensor Node Database System Embed System Application Scenario Storage Manager 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Apel, S., Böhm, K.: Towards the Development of Ubiquitous Middleware Product Lines. In: Gschwind, T., Mascolo, C. (eds.) SEM 2004. LNCS, vol. 3437, pp. 137–153. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Apel, S., Leich, T., Rosenmüller, M., Saake, G.: FeatureC++: Feature-Oriented and Aspect-Oriented Programming in C++. Technical Report Preprint Nr. 3, Department of Computer Science, Otto-von-Guericke University, Magdeburg, Germany (2005)Google Scholar
  3. 3.
    Batory, D.: Feature-Oriented Programming and the AHEAD Tool Suite. In: Proceedings of the 26th International Conference on Software Engineering, pp. 702–703. IEEE Computer Society, Los Alamitos (2004)CrossRefGoogle Scholar
  4. 4.
    Batory, D., Coglianese, L., Goodwin, M., Shaver, S.: Creating Reference Architectures: An Example from Avionics. In: Symposium on Software Reusability (SSR), Seattle Washington (1995)Google Scholar
  5. 5.
    Batory, D., O’Malley, S.: The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM Transactions on Software Engineering and Methodology 1(4) (1992)Google Scholar
  6. 6.
    Batory, D., O’Malley, S.: The Design and Implementation of Hierarchical Software Systems with reusable Components. ACM Transactions on Software Engineering and Methodology 1(4), 355–398 (1992)CrossRefGoogle Scholar
  7. 7.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. In: Proc. of the 25th Int. Conf. on Software Engineering (2003)Google Scholar
  8. 8.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Transactions on Software Engineering 30(6) (2004)Google Scholar
  9. 9.
    Batory, D.S., Barnett, J.R., Garza, J.F., Smith, K.P., Tsukuda, K., Twichell, B.C., Wise, T.E.: GENESIS: an Extensible Database Management System. In: Readings in object-oriented database systems, pp. 500–518. Morgan Kaufmann Publishers Inc., San Francisco (1990)Google Scholar
  10. 10.
    Bobineau, C., Bouganim, L., Pucheral, P., Valduriez, P.: PicoDMBS: Scaling Down Database Techniques for the Smartcard. In: VLDB 2000, Proceedings of 26th International 2000, Cairo, Egypt, Los Altos, CA 94022, USA, pp. 11–20. Morgan Kaufmann Publishers, San Francisco (2000)Google Scholar
  11. 11.
    Cammert, M., Heinz, C., Krämer, J., Schneider, M., Seeger, B.: a status report on xxl - a software infrastructure for efficient query processing. IEEE Data Eng. Bull. 26(2), 12–18 (2003)Google Scholar
  12. 12.
    Cardone, R., et al.: Using Mixins to Build Flexible Widgets. In: Proceedings of the 1st International Conference on Aspect-Oriented Software Development (2002)Google Scholar
  13. 13.
    Carey, M.J., DeWitt, D.J., Frank, D., Graefe, G., Richardson, J.E., Shekita, E.J., Muralikrishna, M.: The architecture of the EXODUS extensible DBMS. In: Dittrich, K.R., Dayal, U., Buchmann, A.P. (eds.) On Object-Oriented Database Systems, Topics in Information Systems. Springer, Heidelberg (1991)Google Scholar
  14. 14.
    Chaudhuri, S., Weikum, G.: Rethinking database system architecture: Towards a self-tuning RISC-style database system. The VLDB Journal, 1–10 (2000)Google Scholar
  15. 15.
    Business Communications Company. Future of Embedded Systems Technology, BCC Press release on market study RG-229 (2000)Google Scholar
  16. 16.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
  17. 17.
    Dijkstra, E.W.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  18. 18.
    Dittrich, K., Geppert, A.: Component Database Systems: Introduction, Foundations, and Overview. In: Dittrich, K.R., Geppert, A. (eds.) Component Database Systems. dpunkt.verlag, San Francisco u.a, pp. 1–28 (2001)Google Scholar
  19. 19.
    Ganesan, D., Greenstein, B., Perelyubskiy, D., Estrin, D., Heidemann, J.: An Evaluation of Multi-resolution Storage for Sensor Networks. In: Proceedings of the ACM SenSys Conference, Los Angeles, California, USA, pp. 89–102 (2003)Google Scholar
  20. 20.
    Geppert, A.: Methodical Construction of Database Management Systems. GI Datenbank Rundbrief 14(62) (1994)Google Scholar
  21. 21.
    Geppert, A., Scherrer, S., Dittrich, K.: KIDS: Construction of Database Management Systems based on Reuse. ifi-97.01, Department of Computer Science, University of Zurich (1997)Google Scholar
  22. 22.
    Kang, K., et al.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, cmu/sei-90-tr-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania (1990)Google Scholar
  23. 23.
    Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  24. 24.
    Lopez-Herrejon, R.E., Batory, D., Cook, W.: Evaluating support for features in advanced modularization technologies. extended report. Technical Report CS-TR-05-16, The University of Texas at Austin, Department of Computer Sciences (2005)Google Scholar
  25. 25.
    Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. In: SIGSOFT 2004/FSE-12: Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering (2004)Google Scholar
  26. 26.
    Nyström, D., Tešanović, A., Nolin, M., Norström, C., Hansson, J.: COMET: A Component-Based Real-Time Database for Automotive Systems. In: Proceedings of the Workshop on Software Engineering for Automotive Systems at 26th International Conference on Software engineering (ICSE 2004), Edinburgh, Scotland. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  27. 27.
    Olson, M.A.: Selecting and Implementing an Embedded Database System. IEEE Computer 33(9), 27–34 (2000)MathSciNetGoogle Scholar
  28. 28.
    Olson, M.A., Bostic, K., Seltzer, M.I.: Berkeley DB. In: USENIX Annual Technical Conference, FREENIX Track. USENIX, pp. 183–191 (1999)Google Scholar
  29. 29.
    Parnas, D.L.: Designing Software for Ease of Extension and Contraction. IEEE Transactions On Software Engineering SE-5(2) (1979)Google Scholar
  30. 30.
    Schwarz, P.M., Chang, W., Freytag, J., Lohman, G.M., McPherson, J., Mohan, C., Pirahesh, H.: Extensibility in the starburst database system. In: Dittrich, K.R., Dayal, U. (eds.) International Workshop on Object-Oriented Database Systems. Asilomar Conference Center, Pacific Grove, California, USA, September 23-26, pp. 85–92. IEEE Computer Society, Los Alamitos (1986)Google Scholar
  31. 31.
    Smaragdakis, Y., Batory, D.: Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM Transactions on Software Engineering Methodology (TOSEM) 11(2) (2002)Google Scholar
  32. 32.
    Tesanovic, A., Nystrom, D., Hansson, J., Norstrom, C.: Embedded Databases for Embedded Real-Time Systems: A Component-Based Approach. Technical report, Linkoping University, Mälardalen University (2002)Google Scholar
  33. 33.
    Tešanović, A., Sheng, K., Hansson, J.: Application-Tailored Database Systems: a Case of Aspects in an Embedded Database. In: Proceedings of the 8th International Database Engineering and Applications Symposium (IDEAS 2004), Coimbra, Portugal. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  34. 34.
    Turley, J.: The Two Percent Solution. Embedded Systems Programming (2002),
  35. 35.
    Vingralek, R.: GnatDb: A Small-Footprint, Secure Database System. In: VLDB, pp. 884–893 (2002)Google Scholar
  36. 36.
    Weiser, M.: Hot Topics: Ubiquitous Computing. IEEE Computer 26(10) (1993)Google Scholar
  37. 37.
    Woo, A., Madden, S., Govindan, R.: Networking support for Query Processing in Sensor Networks. Commun. ACM 47(6), 47–52 (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Thomas Leich
    • 1
  • Sven Apel
    • 1
  • Gunter Saake
    • 1
  1. 1.Department of Computer ScienceOtto-von-Guericke-University Magdeburg 

Personalised recommendations