Beside the technological hardware developments in terms of system integration, miniaturization, circuitry design, and energy efficiency, developing effective and efficient software applications is the main key factor for wearable systems to emerge and turn from research prototypes into powerful cutting‐edge real‐world products.
However, building high quality and efficient applications is a hard task to be accomplished without proper programming skills and flexible development tools. This is a very limiting factor, especially in light of the fact that developers of BSN applications may be expert in specific scientific fields (e.g. biology, medicine, and fitness) rather than in networking or embedded programming. As a result, there is an evident need for appropriate methodologies and abstractions capable of improving and simplifying the BSN system development, deployment, and maintenance processes.
This chapter investigates problems and challenges involved in programming BSNs and discusses the importance of adopting high‐level programming abstractions and software tools through which developers are able to overcome the difficulties in managing such distributed and resource‐constrained embedded environments. Moreover, it provides the state‐of‐the‐art of middleware and programming frameworks by focusing on both capabilities and lack of proper functionalities needed for facing today’s and future challenges in BSN application development.