SINTEF ICT, P.O. Box 4760 Sluppen, NO-7465 Trondheim, Norway.
Int J Med Inform. 2013 Nov;82(11):e269-93. doi: 10.1016/j.ijmedinf.2011.03.007. Epub 2011 Apr 9.
The proper use of ICT services can support seniors in living independently longer. While such services are starting to emerge, current proprietary solutions are often expensive, covering only isolated parts of seniors' needs, and lack support for sharing information between services and between users. For developers, the challenge is that it is complex and time consuming to develop high quality, interoperable services, and new techniques are needed to simplify the development and reduce the development costs. This paper provides the complete view of the experiences gained in the MPOWER project with respect to using model-driven development (MDD) techniques for Service Oriented Architecture (SOA) system development in the Ambient Assisted Living (AAL) domain.
To address this challenge, the approach of the European research project MPOWER (2006-2009) was to investigate and record the user needs, define a set of reusable software services based on these needs, and then implement pilot systems using these services. Further, a model-driven toolchain covering key development phases was developed to support software developers through this process. Evaluations were conducted both on the technical artefacts (methodology and tools), and on end user experience from using the pilot systems in trial sites.
The outcome of the work on the user needs is a knowledge base recorded as a Unified Modeling Language (UML) model. This comprehensive model describes actors, use cases, and features derived from these. The model further includes the design of a set of software services, including full trace information back to the features and use cases motivating their design. Based on the model, the services were implemented for use in Service Oriented Architecture (SOA) systems, and are publicly available as open source software. The services were successfully used in the realization of two pilot applications. There is therefore a direct and traceable link from the user needs of the elderly, through the service design knowledge base, to the service and pilot implementations. The evaluation of the SOA approach on the developers in the project revealed that SOA is useful with respect to job performance and quality. Furthermore, they think SOA is easy to use and support development of AAL applications. An important finding is that the developers clearly report that they intend to use SOA in the future, but not for all type of projects. With respect to using model-driven development in web services design and implementation, the developers reported that it was useful. However, it is important that the code generated from the models is correct if the full potential of MDD should be achieved. The pilots and their evaluation in the trial sites showed that the services of the platform are sufficient to create suitable systems for end users in the domain.
A SOA platform with a set of reusable domain services is a suitable foundation for more rapid development and tailoring of assisted living systems covering reoccurring needs among elderly users. It is feasible to realize a tool-chain for model-driven development of SOA applications in the AAL domain, and such a tool-chain can be accepted and found useful by software developers.
正确使用信息通信技术服务可以帮助老年人更长时间地独立生活。虽然此类服务已经开始出现,但目前的专有解决方案通常价格昂贵,仅涵盖老年人需求的孤立部分,并且缺乏对服务之间和用户之间信息共享的支持。对于开发人员来说,挑战在于开发高质量、可互操作的服务非常复杂且耗时,需要新的技术来简化开发并降低开发成本。本文提供了在欧洲研究项目 MPOWER(2006-2009 年)中使用模型驱动开发(MDD)技术进行面向服务的体系结构(SOA)系统开发方面的经验的全貌,该项目用于辅助生活(AAL)领域。
为了解决这个挑战,该项目的方法是调查和记录用户需求,基于这些需求定义一组可重复使用的软件服务,然后使用这些服务实现试点系统。此外,还开发了一个涵盖关键开发阶段的模型驱动工具链,以在整个过程中为软件开发人员提供支持。对技术工件(方法和工具)以及在试验点使用试点系统的最终用户体验都进行了评估。
对用户需求的研究成果是一个记录为统一建模语言(UML)模型的知识库。该综合模型描述了参与者、用例以及从这些参与者和用例中派生的功能。该模型进一步包括一组软件服务的设计,包括完整的跟踪信息,可追溯到设计服务的功能和用例。基于该模型,为面向服务的体系结构(SOA)系统实现了服务,并作为开源软件公开发布。这些服务已成功用于实现两个试点应用程序。因此,从老年人的用户需求,通过服务设计知识库,到服务和试点实施,都有直接和可追溯的联系。该项目中的开发人员对 SOA 方法的评估表明,SOA 在工作绩效和质量方面是有用的。此外,他们认为 SOA 易于使用,并支持 AAL 应用程序的开发。一个重要的发现是,开发人员明确表示他们打算在未来使用 SOA,但不是用于所有类型的项目。在 Web 服务设计和实现中使用模型驱动开发方面,开发人员报告说这很有用。但是,如果要充分发挥 MDD 的潜力,那么从模型生成的代码必须是正确的。在试验点进行的试点和评估表明,该平台的服务足以满足老年人在该领域的需求,为其创建合适的系统。
具有一组可重复使用的领域服务的 SOA 平台是快速开发和定制覆盖老年人重复需求的辅助生活系统的合适基础。在 AAL 领域实现面向服务的应用程序的模型驱动开发工具链是可行的,并且此类工具链可以被软件开发人员接受并认为是有用的。