Energy Conscious Builder Design Pattern with C# and Intermediate Language
Design Patterns have gained more and more
acceptances since their emerging in software development world last
decade and become another de facto standard of essential knowledge
for Object-Oriented Programming developers nowadays.
Their target usage, from the beginning, was for regular computers,
so, minimizing power consumption had never been a concern.
However, in this decade, demands of more complicated software for
running on mobile devices has grown rapidly as the much higher
performance portable gadgets have been supplied to the market
continuously. To get along with time to market that is business
reason, the section of software development for power conscious,
battery, devices has shifted itself from using specific low-level
languages to higher level ones. Currently, complicated software
running on mobile devices are often developed by high level
languages those support OOP concepts. These cause the trend of
embracing Design Patterns to mobile world.
However, using Design Patterns directly in software development
for power conscious systems is not recommended because they were
not originally designed for such environment. This paper
demonstrates the adapted Design Pattern for power limitation system.
Because there are numerous original design patterns, it is not possible
to mention the whole at once. So, this paper focuses only in creating
Energy Conscious version of existing regular "Builder Pattern" to be
appropriated for developing low power consumption software.
[1] E. Gamma, R. Helm, R. Johnson and J. Vlissides The Gang of four
[Online]. Available: http://hillside.net
[2] E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design patterns:
elements of reusable object-oriented software. Massachusetts:
Addison-Wesley, 1995.
[3] V. Tiwari, S. Malik, and A.Wolfe. Power analysis of embedded
software: A first step towards software power minimization. In IEEE
Transaction VLSI Systems, December 1994.
[4] V. Tiwari, S. Malik and A. Wolfe. Compilation Techniques for Low
Energy: An Overview. In 1994 Symposium on Low-Power Electronics,
San Diego, CA, October 1994.
[5] Y-T S. Li and S. Malik. Performance Analysis of Embedded Software
Using Implicit Path Enumeration. In IEEE Transactions on Computer-
Aided Design of Integrated Circuits and Systems, December 1997.
[6] Peymandoust, T. Simunic and G.D. Micheli. Low Power Embedded
Software Optimization using Symbolic Algebra. In IEEE Proceeding of
the 2002 Design, Automation and Test in Europe Conference and
Exhibition, 2002.
[7] Chatzigeorgiou and G. Stephanides. Evaluating Performance and Power
of Object-Oriented Vs. Procedural Programming in Embedded
Processors. In Ada-Europe 2002, 2002.
[8] (Journal Online Sources style) K. Chantarasathaporn and C. Srisa-an.
(2006, January). Object-Oriented Programming Strategies in C# for
Power Conscious System. International Journal of Computer Science
[Online]. Volume 1 Number 1. Available:
http://www.enformatika.org/ijcs/v1/v1-1-7.pdf
[9] http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29
[10] http://www.dofactory.com/Patterns/PatternBuilder.aspx
[11] http://www.amd.com/usen/
assets/content_type/white_papers_and_tech_docs/24309.pdf
[12] http://www.valueram.com/datasheets/KVR266X64SC25_512.pdf
[13] Kumar, S. Struct in C#. Available:
http://www.codeproject.com/csharp/structs_in_csharp.asp
[1] E. Gamma, R. Helm, R. Johnson and J. Vlissides The Gang of four
[Online]. Available: http://hillside.net
[2] E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design patterns:
elements of reusable object-oriented software. Massachusetts:
Addison-Wesley, 1995.
[3] V. Tiwari, S. Malik, and A.Wolfe. Power analysis of embedded
software: A first step towards software power minimization. In IEEE
Transaction VLSI Systems, December 1994.
[4] V. Tiwari, S. Malik and A. Wolfe. Compilation Techniques for Low
Energy: An Overview. In 1994 Symposium on Low-Power Electronics,
San Diego, CA, October 1994.
[5] Y-T S. Li and S. Malik. Performance Analysis of Embedded Software
Using Implicit Path Enumeration. In IEEE Transactions on Computer-
Aided Design of Integrated Circuits and Systems, December 1997.
[6] Peymandoust, T. Simunic and G.D. Micheli. Low Power Embedded
Software Optimization using Symbolic Algebra. In IEEE Proceeding of
the 2002 Design, Automation and Test in Europe Conference and
Exhibition, 2002.
[7] Chatzigeorgiou and G. Stephanides. Evaluating Performance and Power
of Object-Oriented Vs. Procedural Programming in Embedded
Processors. In Ada-Europe 2002, 2002.
[8] (Journal Online Sources style) K. Chantarasathaporn and C. Srisa-an.
(2006, January). Object-Oriented Programming Strategies in C# for
Power Conscious System. International Journal of Computer Science
[Online]. Volume 1 Number 1. Available:
http://www.enformatika.org/ijcs/v1/v1-1-7.pdf
[9] http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29
[10] http://www.dofactory.com/Patterns/PatternBuilder.aspx
[11] http://www.amd.com/usen/
assets/content_type/white_papers_and_tech_docs/24309.pdf
[12] http://www.valueram.com/datasheets/KVR266X64SC25_512.pdf
[13] Kumar, S. Struct in C#. Available:
http://www.codeproject.com/csharp/structs_in_csharp.asp
@article{"International Journal of Information, Control and Computer Sciences:61374", author = "Kayun Chantarasathaporn and Chonawat Srisa-an", title = "Energy Conscious Builder Design Pattern with C# and Intermediate Language", abstract = "Design Patterns have gained more and more
acceptances since their emerging in software development world last
decade and become another de facto standard of essential knowledge
for Object-Oriented Programming developers nowadays.
Their target usage, from the beginning, was for regular computers,
so, minimizing power consumption had never been a concern.
However, in this decade, demands of more complicated software for
running on mobile devices has grown rapidly as the much higher
performance portable gadgets have been supplied to the market
continuously. To get along with time to market that is business
reason, the section of software development for power conscious,
battery, devices has shifted itself from using specific low-level
languages to higher level ones. Currently, complicated software
running on mobile devices are often developed by high level
languages those support OOP concepts. These cause the trend of
embracing Design Patterns to mobile world.
However, using Design Patterns directly in software development
for power conscious systems is not recommended because they were
not originally designed for such environment. This paper
demonstrates the adapted Design Pattern for power limitation system.
Because there are numerous original design patterns, it is not possible
to mention the whole at once. So, this paper focuses only in creating
Energy Conscious version of existing regular "Builder Pattern" to be
appropriated for developing low power consumption software.", keywords = "Design Patterns, Builder Pattern, Low Power
Consumption, Object Oriented Programming, Power Conscious
System, Software.", volume = "2", number = "7", pages = "2516-9", }