Model Driven Development
Model-driven development (MDD) group is tackling the issues, techniques, and tool supports in the software development focusing on "model"s. In MDD process, developers describe a target system as models, which are the abstract representation of the system, and obtain an implementation through step-wise transformation and refinement. Such step-wise process facilitates a systematic software development because of bridging the gap between the target problem that the developed system solves and the implementation of the system.
However, there are many difficulties to realize the MDD process. For instance, it is not trivial for developers what kind of "model" is best to represent a target system. The system should be represented by multiple models because the system is used and developed by multiple stakeholders. In this case, how to model the system from multiple aspects as well as how to keep the consistency between multiple models are difficult questions. When transforming an abstract model to a concrete one or an implementation, a design of transformation rules and traceability between the models and the implementation also may become problems. Furthermore, the answers for these problems usually depend on the target problem domain and system.
Although there are many challenges in this field, our research currently focuses on the application of MDD techniques to a specific domain. Specifically, we are tackling to the following topics in the wireless sensor network domain: domain-specific modeling languages (DSMLs), transformation rules between models described by the DSMLs, and automated tool support with such domain-specific techniques.
Model-Driven Development Process for Wireless Sensor Network Applications
Tuning data qualities is important to develop wireless sensor network (WSN) applications because these applications focus on real world data. Consequently, the development process must simultaneously provide rapid prototyping to identify problematic data qualities precociously and allow for fine-grained tuning. Currently WSN applications are developed by a code-and-fix process using a domain specific language at one abstraction level, which has the trade-off between description ease and tuning difficulty. Due to the trade-off and the lack of systematic development process, existing development cannot realize both rapid prototyping and fine-grained tuning. Herein we propose a data quality-centric model-driven development (MDD) process that meets both requirements simultaneously via multiple abstraction levels. To reduce prototyping cost, a developer only designs dataflow without lower level concerns, while fine-grained tuning is achieved by redesigning communications and task assignments at the appropriate abstraction levels. Using case studies with realistic applications, we show our MDD process satisfies both requirements.
- Kenji Tei (Assistant Professor)
- Kazuya Aizawa (M2)
- Masaki Katae (M1)
- Moeka Tanabe (M1)
- Miho Souzu (B4)
- Ryo Shimizu: "Data Quality-Centric Model-Driven Development Process for Wireless Sensor Network Applications", The 12th ACM/IEEE Int. Conference on Information Processing in Sensor Network (IPSN 2013), Ph.D. Forum, April 2013.
- Ryo Shimizu, Kenji Tei, Yoshiaki Fukazawa and Shinichi Honiden: "Case Studies on the Development of Wireless Sensor Network Applications using Multiple Abstraction Levels", In Proceedings of the 3rd International Workshop on Software Engineering for Sensor Network Applications (SESENA 2012), in conjunction with International Conference on Software Engineering (ICSE) June 2-9, 2012.
- Ryo Shimizu, Kenji Tei, Yoshiaki Fukazawa, Shinichi Honiden: "Meta-Models for Wireless Sensor Network Applications: Data, Group, and Node Views", Technical Report GRACE-TR-2012-01, GRACE Center, National Institute of Informatics, Frbruary 2012. 9 pages.
- Ryo Shimizu, Kenji Tei, Yoshiaki Fukazawa, Shinichi Honiden: "Model Driven Development for Rapid Prototyping and Optimization of Wireless Sensor Network Applications", In Proceedings of the 2nd International Workshop on Software Engineering for Sensor Network Applications (SESENA 2011), in conjunction with ACM/IEEE Intl. Conference on Software Engineering (ICSE) May 21-28, 2011.