没有合适的资源?快使用搜索试试~ 我知道了~
© 2013由Elsevier B.V.发布。信息工程研究院负责评选和同行评议可在www.sciencedirect.comwww.sciencedirect.com在线获取ScienceDirectIERI Procedia 4(2013)155 - 1672013年电子工程与计算机科学情境感知的移动患者监护框架开发:详细设计Mahmood Ghaleb Al-Bashayreh*,Nor Lounge Hashim,Ola TaiseerKhorma马来西亚北安大学计算机学院,艺术与科学学院,地址:Sintok,Kedah,06010,Malaysia摘要移动和无线传感器技术的最新进展已经引入了新的领域要求,在设计情境感知移动患者监护框架(CMPMF)以开发情境感知移动患者监护系统(CMPMS)时必须满足这些要求。虽然已经有一些研究,设计CMPMF开发CMPMS,他们有严重的缺陷,在考虑新兴领域的要求。为了解决这一问题,提出了基于模型驱动架构(MDA)的CMPMF的详细设计平台无关模型(PIM)、平台特定模型(PSM)和代码表明,详细设计满足CMPMF开发CMPMS的领域需求© 2013作者。由Elsevier B. V.在CC BY-NC-ND许可下开放获取。信息工程研究院负责评选和同行评议关键词:情境感知移动患者监护框架(CMPMF);情境感知移动患者监护系统(CMPMS);模型驱动架构(MDA);应用框架开发;详细设计1. 介绍应用程序框架是一个半完整的应用程序[1]。它提供了一组基本功能,应用程序开发人员必须对其进行定制和扩展以构建完整的应用程序[2]。的过程* 通讯作者。联系电话:+6-017-506-9168。电子邮件地址:Mahmood.G. Al-Bashayreh@ieee.org。2212-6678 © 2013作者由Elsevier B. V.在CC BY-NC-ND许可下开放获取。信息工程研究所负责的选择和同行评审doi:10.1016/j.ieri.2013.11.023156Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155扩展框架被称为框架实例化,并且定制框架的每个最终的完整应用被称为框架实例[3]。框架由具体和抽象类或接口组成[4],它们被安排成冻结点和热点[5]。冻结点是在使用框架构建的所有应用程序中共享的具体类[6]。这些斑点不会改变(即,冻结),即使框架是由应用程序实例化的[5]。热点是抽象类或接口,它们代表了框架的灵活性和可扩展性,必须由应用程序开发人员实例化。热点被设计为扩展以满足特定应用的需求[2]。一个设计良好的框架取决于其提供的热点是否足够[5]。热点中的方法称为钩子方法[6]。框架实例化是通过钩子方法完成的。钩子是框架中的一个地方,应用程序开发人员可以通过扩展框架来添加自己的代码,以满足特定于应用程序的功能。框架开发人员将钩子定义为使应用程序开发人员能够使用和扩展框架来为特定领域构建各种应用程序的方法[1]。应用程序框架的可扩展性,由热点中的钩子方法支持,是开发框架时必须满足的主要质量属性[8]。如果一个框架是可扩展的,它就被认为是有用的[9]。实现可扩展性确保了框架可以被重用来开发特定领域的应用程序[7]。框架可扩展性技术的范围从白盒到黑盒[10]基于钩子实例化方法[5]。框架开发包括六个主要活动:领域分析、架构设计、框架设计、框架实现、框架测试和文档[11]。首先,领域分析旨在解释框架所针对的领域知识[10],然后从文献,领域专家或领域的现有标准中捕获领域需求[12]。这项活动需要很长时间的改进。因此,对领域知识进行建模被认为是减少此活动持续时间的理想方法[13]。因此,本活动的主要可交付成果是一个领域模型[10],其中包括领域需求以及它们之间的关系[12]。第二,架构设计使用前面活动中的领域模型作为输入,以选择适当的架构风格,从而形成框架的基础。所选择的架构风格产生了该活动的主要可交付成果,即框架架构设计[11]。第三,框架设计使用以前活动中的架构设计作为要改进的输入。此外,设计了新的类,并将不同的设计模式应用于框架。该活动的主要交付成果是框架设计给出的功能范围、框架第四,框架实现侧重于对抽象类和具体类进行编码[11]。通常,面向对象的语言,如C#,Java或C++,用于实现框架[14]。第五,框架测试旨在确定框架是否满足所需的功能,并评估框架的可重用性[11]和可扩展性[8]。可重用性和可扩展性是区分成功应用程序框架的主要特征之一[10]。框架的可重用性通常与代码和设计有关[15],可以通过实例化框架来开发示例应用程序[16]来评估。或者,框架的可扩展性可以通过钩子来评估[17]。第六,框架文档包括描述框架目的、框架使用、用户手册和框架设计的文档。此外,良好的文档包含各种示例,包括用于定制和扩展框架的示例代码[7]。此外,设计模式可以作为一种文档方法来捕获框架设计并帮助开发人员理解框架[18]。Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155157本文介绍了第三和第四框架开发活动,这是框架设计和实施,作为正在进行的研究的一部分,设计一个上下文感知的移动患者监护框架(CMPMF)开发上下文感知的移动患者监护系统(CMPMS)。在我们之前的工作中,进行了第一个活动,域分析。在生物医学信息学领域的20个设计框架进行了系统的审查。结果表明,目前很少有研究设计CMPMF开发CMPMS。虽然已经有一些研究,设计CMPMF,他们有一个严重缺乏任何新兴领域的需求考虑。此外,没有任何研究整合了所有已确定的要求。因此,需要在CMPMF的设计中解决CMPMS的这些新兴领域要求[19; 20]。第二个活动,架构设计,也进行了,结果表明,CMPMF层及其组件的内部架构,以及它们的结构,满足CMPMS的要求[21]。因此,本文的目的是提出一个详细的设计CMPMF,以解决确定的领域需求。本文的结构如下。第2节介绍了满足本文目标的拟议研究框架。第三节介绍了拟议的CMPMF的框架设计和实施。最后,第4节是对结论的介绍和对未来工作的简要讨论2. 研究框架为了实现本文的目标,模型驱动架构(MDA)被采用作为一个标准的方法模型驱动开发(MDD)的方法来设计和实现拟议的CMPMF。MDA方法适用于设计和实施生物医学信息学领域的医疗保健系统的适用性得到了批准[22]。MDA方法包括三个基本的开发活动。这些活动是:分析,低层次设计和编码。第一个过程的结果是一个高级抽象模型,它独立于任何实现技术;因此,它被称为平台无关模型(PIM)。第二个过程的结果是一个特定的模型,这是平台相关的;因此,它被称为平台特定模型(PSM)[23]。事实上,值得一提的是,每个PIM都可以根据企业的需求转换为一个或多个PSM [24]。例如,特定的PIM可以转换为J2EE中的PSM和Microsoft .NET技术中的PSM [25]。此外,PIM表示概念模型,而PSM表示物理模型[22]。第三个过程的结果是一个代码模型,它定义了用于开发的代码[23]。本研究将这些基本流程分别定制为PIM开发、PSM开发和代码开发。为了便于应用MDA方法,使用了Enterprise Architect工具(www.sparxsystems.com),因为它支持使用内置的转换规则将PIM自动转换为PSM,以及将PSM自动转换为代码。Enterprise Architect工具还支持基于UML 2.3的建模。此外,它可以生成C++,C#和Java代码。此外,Enterprise Architect工具可以为每个公共方法生成测试方法。以下各节详细阐述这三项基本发展活动。2.1. 活动1:独立于平台的模型开发为了构建PIM,文献[22]中应用了两个常见步骤。首先,应该根据已识别的需求构建UML类图。其次,类图应该使用四种常用的技术来细化:热点、冻结点、设计模式[26]和设计原则[27]。这些技术需要满足一些确定的要求[19; 20],这些要求是:158Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155基于组件的开发方法、黑盒框架可扩展性方法以及可扩展性和可重用性评估方法。2.2. 活动2:平台特定模型开发要构建PSM,应该使用C#模型转换将结果PIM转换为PSM。这种转换将得到的PIM作为输入,并使用特殊的C#原型生成PSM。 选择C#平台技术是为了支持以下确定的要求。首先,它支持基于组件的开发[28]。其次,它支持使用对象组合的黑盒可扩展性方法[29]。第三,它支持软实时系统[30],以支持实时连续监控。第四,它支持异步方法调用[31],以支持与无限数量的传感器和无限数量的移动监控应用程序的非阻塞通信。最后,它支持跨平台的移动开发[32]。事实上,Microsoft .Net并不正式支持除Windows以外的任何移动平台。然而,随着Mono项目(http://www.mono-project.com/)的出现,C#可以用于开发可以在Microsoft Windows Phone以外的各种平台上执行的移动应用程序,包括iOS和Android [32]。表1显示,与其他编程语言相比,C#是编写跨各种移动平台的本机应用程序的最佳语言。表1.原生移动平台语言(采用自[33])iOSAndroidWindows PhoneC/C++Objective-CJavaVisual Basic.NetC#语言2.3. 活动3:代码开发要开发代码,应使用自动化工具将生成的PSM转换为C#代码[22]。然后应该开发一些手动实现。相比之下,PIM开发过程是唯一需要完全手动和创新开发的过程。然而,PSM开发过程通常是自动化的[34],而在本研究中,代码开发过程是部分自动化的3. 框架设计和实施CMPMF的体系结构设计分为两层:上下文监控层和上下文表征层。上下文监视层由五个组件组成:数据源收集器、数据源连接器、数据转换器、上下文信息类型和上下文监视管理器。上下文表征层由四个组件组成:查询元素、上下文监控查询、监控查询求值器和上下文表征管理器。这个架构设计在[21]中进行了详细讨论。架构设计活动产生的架构模型被用作框架设计和实施过程的输入。正如第2节所讨论的,基于MDA方法设计和实现CMPMF有三个基本活动。以下各小节是这些活动的实现。Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)1551593.1. 独立于平台的模型开发图1.显示了通过应用PIM开发活动而构建的PIM。在2.1小节中提到的四种细化技术将在下面的小节中讨论。3.1.1. 热点和冻结点首先,热点表示在域分析过程中识别的可变域需求。这些可变域需求可以映射到框架设计中的接口。事实上,基于接口的设计提供了灵活性、可重用性,并支持基于组件的开发[10]。第二,冻结点代表共同的域要求。这些公共域需求可以映射到框架设计中的具体类。CMPMF的识别接口和具体类介绍如下。 ISubject接口:它为框架组件之间的通信提供了标准机制。它允许特定组件(例如,组件A)请求来自另一组件的数据(例如,B)异步。它还允许组件B在其请求的数据准备就绪时通知组件A。CMPMF提供Event类作为此接口的默认实现。 IObserver接口:它提供了一个回调方法,用于接收ISubject的事件通知 IDataValue接口:它用作存储收集的数据的通用数据类型。它提供了一个扩展点来表示各种数据值。CMPMF提供了三个具体类作为IDataValue接口的默认实现,它们是:(1)DataValueScalar,用于表示具有单个值的数据;(2)DataValueMinMax,用于表示具有最小值和最大值的数据;以及(3)DataValueSet,用于表示具有一组值的数据。 IDataSourceCollector接口:它提供了从上下文数据源异步收集数据所需的方法和属性,并在需要时将收集的数据从一种格式转换为另一种格式。IDataSourceCollector将这两项职责分别委托给IDataSourceConnector和IDataConverter。IDataSourceCollector提供了一个扩展点来表示各种上下文数据源。CMPMF提供了三个具体类作为IDataSourceCollector的默认实现,它们是:(1)DynamicDSC,用于从动态数据源(如无线传感器)收集数据;(2)SemiDynamicDSC,用于从半动态数据源(如移动图形用户界面)收集数据;以及(3)StaticDSC,用于从静态数据源(如移动患者配置文件)收集数据。IDataSourceCollector观察IDataSourceConnector并在收集到新数据后发布事件通知。这是通过分别实现IObserver接口和组合Event类来实现的。此接口使用IDataSourceConnectorFactory接口创建数据源连接器,使用具体类工厂作为IDataSourceConnectorFactory的默认实现。 IDataSourceConnector接口:它提供异步连接到上下文数据源所需的方法和属性。它提供了一个扩展点来表示应用程序开发人员必须实现的各种连接技术。IDataSourceConnector观察上下文数据源,并在收到新数据后发布事件通知。这是通过分别实现IObserver接口和组合Event类来实现的。 IConnectionSettings接口:它是一个空接口,负责封装连接设置以连接到特定的上下文数据源。 IDataConverter接口:它提供了一种方法,可用于将数据从一种格式转换为另一种合适的格式。它提供了一个扩展点来表示应用程序开发人员必须实现的各种转换算法。160Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155Fig. 1. CAMPMF平台无关模型(第1/2部分)Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155161Fig. 1.续(第2/2部分)162Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155 IContextInformationType接口:它提供从上下文数据源异步获取上下文数据所需的方法和属性。IContextInformationType将此职责委托给IDataSourceCollector。IContextInformationType提供了一个扩展点来表示各种上下文信息类型。CMPMF提供了六个具体类作为IContextInformationType的默认实现,它们是:(1)MeasurableMedicalCIT以表示患者的生命体征(例如,体温);(2)代表医学症状的不可测量的MedicalCIT(例如,头晕);(3)RiskFactorsMedicalCIT(例如,胆固醇水平);(4)处方药物MedicalCIT;(5)物理活性CIT(例如,睡眠);和(6)环境CIT(例如,室温下)。IContextInformationType观察IDataSourceCollector,并在数据值更改后发布事件通知。这是通过分别实现IObserver接口和组合Event类来实现的。IContextInformationType聚合了许多求值运算符,作为IEvaluationOperator接口的实现,用于将IContextInformationType的数据值与IQueryElement接口的阈值数据值进行比较。此接口使用IDataSourceCollectorFactory接口创建许多数据源收集器,例如使用具体类工厂作为IDataSourceCollectorFactory的默认实现来创建DynamicDSC。 IEvaluationOperator 接 口 : 它 提 供 了 执 行 特 定 比 较 运 算 符 所 需 的 方 法 ( 例 如 , IsEqual 或IsGreaterThan ) 来 比 较 数 据 值 和 阈 值 数 据 值 , 该 值 用 于 计 算 查 询 元 素 的 逻 辑 表 达 式 。IEvaluationOperator提供了一个扩展点来表示应用程序开发人员必须实现的各种比较运算符。 ContextAccessoringManager类:它是一个具体的类,提供管理上下文信息类型所需的方法。它通过提供单个访问点来表示上下文监视层的主要接口,以使上下文特征化层能够注册到上下文信息类型。此类使用IContextInformationTypeFactory接口创建大量上下文信息类型,例如使用具体类工厂作为IContextInformationTypeFactory的默认实现来创建MeasurableMedicalCIT。 IQueryElement接口:它提供了创建和计算逻辑表达式所需的方法和属性。IQueryElement将计算其逻辑表达式的责任委托给IEvaluationOperator。CMPMF提供了一个QueryElement类作为此接口的默认实现。IQueryElement观察IContextInformationType,并在其状态根据评估结果发生更改时发布事件通知。这是通过分别实现IObserver接口和组合Event类来实现的。该接口使用IDataValueFactory接口创建大量数据值,例如使用具体类工厂作为IDataValueFactory的默认实现的DataValueScalar。 IContextAccessoringQuery接口:它提供了创建和评估上下文监视查询所需的方法和属性,以根据IQueryElement的状态描述患者的医疗情况。IContextQueryQuery将评估上下文监视查询的责任委托给IContextQueryEvaluator。CMPMF提供了一个ContextAccessoringQuery类作为此接口的默认实现。IContextAccessoringQuery观察IQueryElement,并在其状态根据评估结果发生更改时发布事件通知。这是通过分别实现IObserver接口和组合Event类来实现的。此接口使用IQueryElementFactory接口创建许多查询元素。它还使用IconfigoringQueryEvaluatorFactory接口来创建许多监视查询赋值器。这种创建是使用具体类工厂分别作为IQueryElementFactory和IQueryQueryEvaluatorFactory的默认实现来完成的。 IQueryQueryEvaluator接口:它提供了一种用于评估上下文监控查询的方法,以根据IQueryElement的状态和上下文数据的类型来描述患者医疗情况Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155163源它提供了一个扩展点来表示应用程序开发人员必须实现的各种计算算法。CMPMF提供了一个DataQueryEvaluator类作为此接口的默认实现。 ContextCharacterizationManager类:它是一个具体的类,提供管理上下文监视查询所需的方法。它通过提供单个访问点来表示上下文表征层的主要接口,以使CMPMS能够注册到上下文监视查询。此类使用IContextManagingQueryFactory接口创建大量上下文监视查询,这些查询使用具体的类工厂作为IContextManagingQueryFactory的默认实现。 ClassFactory:它是一个具体的类,提供了一个用于加载具体类工厂并返回具体对象的方法。3.1.2. 设计模式和设计原则首先,设计模式被Gamma等人定义为“对通信对象和类的描述,这些对象和类被定制以解决特定上下文中的一般设计问题”。设计模式描述了经过验证的设计思想和知识。因此,它们对于设计师来说非常重要[35]。因此,建议在设计和应用应用程序框架时使用尽可能多的模式[10]。框架可以将一个或多个模式实现或实例化为可执行工件[36]。此外,模式可以用作记录应用程序框架的方法,因为它们提供了描述软件设计的通用词汇表,以帮助开发人员理解框架[18]。其次,设计原则是帮助软件开发人员构建更好设计的好想法。设计模式被用作应用设计原则的工具。有五个主要的设计原则支持可重用性和可扩展性[27],它们是: 单一责任原则(SRP),确保“一个类应该只有一个改变的理由”[27]; 开放-封闭原则(OCP),它确保类、模块、函数)应该对扩展开放,但对修改关闭 Liskov替换原则(LSP),确保“子类型必须可替换其基本类型”[27]; 依赖倒置原则(DIP),它确保低级模块。两者都应该依赖于抽象。(2)抽象不应该依赖于细节。细节应取决于抽象 接口隔离原则(ISP),确保“客户端他们不使用的方法在本研究中,设计模式:单例,观察者,策略和抽象工厂被用来作为应用上述设计原则的策略。这些设计模式和设计原则被应用于细化PIM,如以下小节所讨论的。3.1.2.1. 单例设计模式在 所 提 出 的 CMPMF 设 计 中 , 只 需 实 例 化 ContextCharacterizationManager 类 和ContextCharacterizationManager类的一个实例,以提供到它们的层的全局访问点,它们分别是上下文监视层和上下文表征层。考虑到移动设备的资源有限,这两个类在第一次调用之前不应该被初始化,这被称为惰性实例化。为了满足这种需求,使用了提供惰性实例化的单例设计模式[18]。3.1.2.2. 观察者设计模式在CMPMF的设计中,框架组件之间的异步通信被用作标准的通信机制这允许特定组件(例如,组分A)164Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155为了从另一组件请求数据(例如,B)异步。它还允许组件B在其请求的数据准备就绪时通过引发事件来通知组件A。需要这种机制来支持以下四对组件之间的通信:(1)IDataSourceConnector和IDataSourceCollector;(2)IDataSourceCollector和IContextInformationType;(3)IContextInformationType和IQueryElement;(4)IQueryElement和IContextInformationQuery。为了满足这一需求,使用了观察者设计模式[18; 37]。此模式确保了无阻塞通信,并支持连接到无限数量的上下文数据源和通知无限数量的CMPMS。此外,该模式符合OCP,OCP允许注册新的观察者(例如,CMPMS ) 而 不 改 变 主 题 ( 例 如 , IContextAccessoringQuery ) 。 回 顾 图 1 , 可 以 看 出IContextInformationType 、 IContextQueryingQuery 、 IDataSourceCollector 、 IDataSourceConnector 和IQueryElement可替换为IObserver,并且Event具体类可替换为ICubject。因此,应用LSP。此外,Event具体类依赖于IObserver接口,而ICobserver的具体方法也依赖于IObserver接口。因此,应用DIP。3.1.2.3. 策略设计模式在所提出的CMPMF的设计中,需要使得例如IDataSourceCollector能够从各种上下文数据源收集数据,包括动态上下文数据源(例如,无线身体传感器),半动态上下文数据源(例如,移动图形用户界面),以及静态上下文数据源(例如,移动患者简档)。这些上下文数据源中的每一个需要不同的连接技术,并且每种连接技术可能需要不同的连接设置。这种需求需要定义不同的通信策略或算法并封装它们,使得这些策略或算法中的任何一个可以彼此交换以支持所提出的CMPMF的可扩展性。这种情况出现在以下组件之间:(1)IDataSourceCollector及其IDataSourceConnector以及IDataConverter;(2)IContextInformationType及其IDataSourceCollector;(3)IQueryElement及其IEvaluationOperator;以及(4)IContextQueryingQuery及其IContextQueryingQueryEvaluator。为了满足这一需求,使用了策略设计模式[18; 37]。这种模式符合DIP,它允许每个具体的类被各种算法(策略)操纵[27]。它还完全符合OCP,OCP支持基于组件的开发和使用组合方法的黑盒可扩展性方法。3.1.2.4. 抽象工厂设计模式在CMPMF的设计中,SRP通过解耦不同组件之间的职责来支持CMPMF的可扩展性。此外,DIP是通过依赖于接口而不是具体的类来应用的。举例来说:(1)IDataSourceCollector将从各种上下文数据源异步收集数据的责任委托给IDataSourceConnector;(2)IContextInformationType将从上下文数据源异步获得上下文数据的责任委托给IDataSourceCollector;(3)IContextQueryQuery将评估上下文监视查询的责任委托给IContextQueryQueryEvaluator。然而,为了连接这些组件,需要提供一种机制来从服务器组件准备对象(例如,DynamicDSC具体类)以服务于客户端组件(例如,MeasurableMedicalCIT具体类)。这个对象准备责任必须委托给一个中间组件。为了满足这种需求,抽象工厂设计模式被使用[18; 37]。此模式支持基于组件的开发和使用组合方法的黑盒可扩展性方法。3.2. 平台特定模型开发在这项研究中,如第2节所讨论的,通过使用自动化工具,使用C#模型转换将PIM转换为PSM。Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155165命名空间CaMPaMF.CML.Core{//Hook公共接口IDataSourceConnector{IDataValue数据{get; set;}// Hook方法。void Connect(IConnectionSettings);// Hook方法。void Disconnect();//手动代码开发事件EventNotificationOnDataSourceConnector> OnDataReceived;}3.3. 代码开发在本研究中,如第2节所述,除了一些手动代码开发外,还使用自动化工具使用C#代码转换模板将PSM转换为代码,参见图2。图二.接口IDataSourceConnector的自动化实现示例。4. 结论和今后的工作本文是一个详细的设计正在进行的研究设计一个CMPMF开发CMPMS的介绍。它首先介绍了应用程序框架开发,包括六个主要的开发活动。然后,CMPMF的详细设计的必要性突出。并提出了基于MDA方法的研究框架,以满足本文的研究目标。给出了CMPMF的详细设计与实现,包括PIM、PSM和代码开发。结果表明,CMPMF的领域需求已得到满足所提出的详细设计。由此产生的详细设计可以被研究人员用来设计增强的CMPMF来开发CMPMS。在未来,研究人员将尝试开发三个CMPMS作为案例研究使用CMPMF评估框架的可重用性和可扩展性。引用[1] Al-Dallal J.使用FIST 2工具测试面向对象框架应用程序:案例研究。Int J Electr Comput SystEng2010;4:119-126.[2] Oliveira ALS,Alencar P,and Cowan D. ReuseTool-支持面向对象框架重用的可扩展工具。JSyst Software2011;84:2234-2252.[3] Gurp Jv和Bosch J.面向对象框架的设计、实现和演变:概念和指南。Software PractEx2001;31:277-300.[4] Markiewicz ME和Lucena CJPd.面向对象的框架开发。面向对象框架开发2001;7:3-9.[5] 普雷·W基本框架设计模式。Object Mag1997;7:34-37.[6] Schmid HA.系统框架设计。Comm ACM1997;40:48 - 51.166Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155[7] Mili H,Fayad M,Brueland D,Hamu D,and Dori D.企业框架:问题和研究方向。Software PractEx2002;32:801-831.[8] 司机C和克拉克S。一个用于移动、上下文感知的路径的应用程序框架。普适和移动计算2008;4:719-736。[9] Fayad M,Hamu DS,and Bruyant D.企业框架的特征、标准和挑战。Comm ACM2000;43:39-46.[10] Fayad M,Schmidt DC,and Johnson RE.应用程序框架。In:Fayad M,Schmidt DC,and JohnsonRE,(editors). Building Application Frameworks:Object-Oriented Foundations of Framework Design,New York,NY:Wiley,1999. 3-28[11] Bosch J,Molin P,Mattsson M,Bengtsson P,and Fayad M.框架问题和经验。In:Fayad M,Schmidt DC,and Johnson RE,(editors). Building Application Frameworks:Object-OrientedFoundations of Framework Design纽约:Wiley,1999,p. 55比82[12] 阿兰戈湾域分析法In:Schäfer W,Prieto-Díaz R,and Matsumoto M,(editors).Software Reusability,New York,NY:Ellis Horwood; 1994,p. 17比49[13] Aksit M,Marcelloni F,and Tekinerdogan B.使用领域模型开发面向对象的框架。ACMComput Surv2000;32:11.[14] Cunningham HC,Liu Y,and Zhang C.使用经典问题来教授Java框架设计。科学计算计划2006;59:147-169.[15] Al-Dallal J.估计框架应用程序可重用的基于集群的测试用例的覆盖率。Inform Software Tech2008;50:595-604.[16] 宾德河测试面向对象系统:模型,模式和工具(ARP/AOD)。Reading,MA:Addison-Wesley; 1999.[17] Al-Dallal J.测试面向对象的框架钩子方法。科威特科学工程杂志2008;35:103-122。[18] Gamma E,Helm R,Johnson R,and Vlissides JM. 设计模式:可重用的面向对象软件的元素. Reading,MA:Addison-Wesley; 1995.[19] Al-Bashayreh MG,Hashim NL,and Khorma OT.情境感知移动患者监护框架:系统综述和研究议程。J Software2013;In Press.[20] Al-Bashayreh MG,Hashim NL,and Khorma OT.增强使用无线传感器的情境感知移动患者监护系统设计的要求。In:Vinh PC,Hung NM,Tung NT,and Suzuki J,(editors). Context-AwareSystems and Applications,Berlin,Germany:Springer; 2013,p. 62比71[21] Al-Bashayreh MG,Hashim NL,and Khorma OT.情境感知移动患者监护框架开发:架构设计。Adv Sci Lett2013;In Press.[22] Raghupathi W和Umar A.探讨MDA方法的医疗保健信息系统的发展。国际医学信息杂志2008;77:305-314。[23] Kleppe A,Warmer J,and Bast W. MDA解释:模型驱动架构:实践和承诺。Boston,MA:Addison Wesley; 2003.[24] Hailpern B和Tarr P.模型驱动的开发:好的,坏的,丑陋的。IBM SYST J2006;45:451-461.[25] 戈顿岛Essential Software ArchitectureBerlin,Germany:Springer 2006.[26] 陈X。在.NET中开发应用程序框架。Berkeley,CA:Apress; 2004.[27] 马丁RC。敏捷软件开发:原则、模式与实践。Upper Saddle River,NJ:Prentice Hall; 2003.[28] 西佩尔斯基角组件软件:超越面向对象编程。月2 New York,NY:Addison-Wesley; 2011.[29] 库珀JW。C# Design Patterns:A.Boston,MA:Addison-Wesley; 2003.[30] Lutz MH和Laplante PA. C#和.NET框架:为实时做好准备了吗?IEEE软件2003;20:74-80.[31] 戴维斯湾在C# 5.0中使用异步。Sebastopol,CA:Mahmood Ghaleb Al-Bashayreh等人/ IERI Procedia 4(2013)155167[32] Olson S,Hunter J,Horgen B,and Goers K. 专业的跨平台移动开发C#。Indianapolis,IN:Wiley; 2012.[33] 沙克尔斯湾用C#进行移动开发Sebastopol,CA:[34] Jones VM,Halteren Av,Konstantas D,Widya I,and Bults R.扩展MDA在扩展医疗保健企业中的应用。Int J Bus Process Integrat Manag2007;2:215-229.[35] Crnkovic I,Hnich B,Jonsson T,and Kiziltan Z. CBSE中的基本概念In:Crnkovic I,and LarssonM,(editors). Building Reliable Correct-Based Software Systems,Norwood,MA:Artech House;2002,p. 三比二十二[36] Zhang W,and Kim M.什么可行,什么不可行:应用程序框架技术分析。JBSGE2006;1:15-26.[37] Bishop J.C#3.0设计模式。Sebastopol,CA:
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功