基于本体与面向对象的并行程序设计可视化关键技术研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
伴随着科学技术的迅猛发展,传统的串行程序已经不可能满足大规模科学与工程计算问题的要求,并行程序是实现高性能计算、解决挑战性技术问题的途径。然而,并行程序设计涉及到任务的划分、处理机的分配、线程间的通信与同步等问题,与串行程序设计相比要复杂得多。目前,并行程序设计过程中的主要问题有:(1)由于开发者缺乏目标领域背景知识,需求分析越来越困难,进行需求分析的效率和质量有待提高。(2)缺乏比较有效的并行程序设计方法和工具,现有的并行程序设计方法不够直观,不能明确地表示出程序的并行过程。
     为了使程序设计人员更高效地对并行问题领域进行分析,本课题将本体论的方法引入到面向问题域的需求分析过程中。本体是为了提供对问题领域知识的共同理解而产生的,它为不同个体间的交流提供了一种明确的共识。这种分析方法针对问题领域的典型需求,结合需求的变化、技术发展以及客观条件等因素,明确领域范围,在对问题领域的不变因素和变化因素进行综合考虑的基础上,抽象出可复用的领域需求,构建领域模型。在构建的本体模型基础上,可以对生成的owl代码进行解析,抽象出面向对象并行程序设计中所需要的类和对象,然后应用可视化程序设计技术根据所研究的并行计算问题将并行对象的标识、对象间消息传递的方法、处理消息的方法、消息的类型、进程间的同步等反映程序并行具体过程的信息展现在对象交互图和状态图中。根据这些图形中所反映的信息利用代码生成技术生成相应的程序框架,使设计人员可以不用编写或只需编写很少的程序代码,就能完成应用程序的设计,极大地提高设计人员的工作效率。使用这种并行程序可视化设计方法,应用系统开发者可以以直观的图形的方式完成面向对象并行程序设计过程,这将有效地解决并行程序设计过程中的难题。
     因此,将本体建模与面向对象的方法相结合,通过统一建模语言中的对象交互图和状态图使用户通过图形化的方式完成并行程序的设计,并最终将这种图形化的表示转化为相应的程序框架,可以将本体相关的理论应用在面向对象程序设计中,使用户通过直观的可视化的图形的方式完成并行程序的设计,也就是本课题研究的基于本体与面向对象的并行程序设计可视化技术,是面向对象并行程序设计的一种比较有效的方法和过程,具有一定的理论和实践意义。
With the rapid development of scientific technology, the traditional serial programs cannot satisfy large-scale scientific and engineering computational problems’requirements, parallel program is the way to achieve high performance computing and solve the challenging technical problems. However, parallel programming involves the division of tasks, the distribution of the processor, communication and synchronization between threads, which is much more complex than serial program design. At present, the main difficulties in parallel programs’design are: (1)With developers lack of background knowledge in target problem areas, requirements analysis has become a difficulty in software development, the efficiency and quality of requirements analysis need to be improved. (2)High performance parallel computer still lack of effective parallel programming methods and tools, the existing parallel programming method is not intuitive enough, and can not show the program parallel process clearly.
     In order to make the programmers analyse parallel problem domain more efficiently, this paper will introduce the ontology method used in the requirements analysis of the problem domain. Ontology provides the common understanding of a domain and provides a clear consensus between different individuals. This kind of analysis solve the problem in some areas of the typical system based on the analysis of the requirements, considering the expected requirements change, technology development and the objective factors, determine the right field, based on the recognition of commonness and change in the field, to abstract reusability field demand and form a domain model. Based on the ontology model, to generate the owl code, abstract the classes and objects in object-oriented parallel programming, then application programming techniques according to the visualization of parallel computing problems reflect parallel object identification, message methods, the treatment of news between objects, the types of methods, the news of the synchronization between processes in the object interaction diagram and state charts. According to the information reflected by these graphics we can use code generation technology produces corresponding program framework, then programers do not need to write or just write a few program code, can complete the application's design, greatly enhancing the efficiency of the program designer. Using the parallel program visual design method, the application system developers can complete object oriented parallel programming by visual graphics, which can effectively solve the problem in the process of parallel programming.
     So, the combination of the ontology modeling and object-oriented method through the unified modeling language of an object interaction diagram and state charts, the programmer can complete the design of parallel programs by this graphical way, and finally take the graphical express into corresponding program framework, can apply ontology related theory in object-oriented programming, make the programmer to design the parallel programs by the intuitive visual graphic way, which is this subject’s study: research of ontology-based parallel visualization of OOPs,is a kind of effective method and process in object-oriented parallel programming with certain theoretical and practical significance.
引文
[1]陈国良.并行计算——结构算法编程[M].北京:高等教育出版社,1999.
    [2] Xuli Liu. Exploiting Object-Based Parallelism on Multi-Core Multi-Processor Clusters. Eighth International Conference on Parallel and Distributed Computing, Applications and Technologies[C], USA ACM Press,2007:78-89.
    [3]于勐,臧婉瑜,谢立,过敏意.并行面向对象语言综述[J].软件学报,12(6),2001:822-829.
    [4] M. Philippsen. A survey of concurrent object-oriented languages. Concurrency: practice and experience, 12:917–980,2000.
    [5] Siddigi J, Shekaran C.Requirements Engineering: The Emerging widom[J].IEEE Software,1996,13(2):15-19.
    [6] Farquhar,A Fikes R,RiceJ . The ontolingua server: a tool for collaborative ontology construction[J].International Journal of Human—Computer Studies,1997,46(6):707-728.
    [7] Gruber,T.Ontoligua:A translation approach to portable ontology specifications[J].Knowledge Acquisition,1993,5(2):199-200.
    [8] Borst W N.Construction of Engineering Ontologies for Knowledge Sharing and Reuse[J].PhD thesis, University of Twente, Enschede,1997.
    [9] Studer R,Benjamins V R,Fensel D.Knowledge Engineering,Principles and Methods[J].Data and Knowledge Engineering,1998,25(122):161-197.
    [10]石杰,宿彦,史晓锋.知识工程中的本体论研究[J].西安电子科技大学学报,14(2),2004:1-3.
    [11]陆汝铃,金芝,陈刚.面向本体的需求分析,软件学报[J],11(8),2000:1009-1017.
    [12] Holger Knublauch,Thomas Rose.Round-Trip Engineering of Ontologies for Knowledge-Based Systems[C].In:Proceeding of the 12th International Conference on Software Engineering and Knowledge Engineering,2000:239-247
    [13]陈禹主.IDEF建模分析与设计方法[M].北京:清华大学出版社,1999.
    [14] Gruninger M,Fox M S.Methodology for the Design and Evaluation of Ontologies[R].Toronto:University of Toronto,1995
    [15] M Uschold. Ontologies Principles , Methods and Applications[J] . Knowledge Engineering Review,1996,11(2):50-58.
    [16] FERNANDEZ M,GOMEZ-PEREZ A,JURISTO N.METHONTOLOGY: From Ontological Art Towards Ontological Engineering[A] . AAAI-97 Spring Symposium On Ontological Engineering,StanfordUniversity,1997.
    [17] Jorg-Uwe Kietz, Raphael Volz,Alexander Maedche.Extracting a Domain Specific Ontology from a Corporate Intranet[C].Proceedings of the Fourth Conference on Computational Natural Language Learning and of the Second Learning Language in Logic Workshop,2000.
    [18] Gruber TR. Towards Principles for the Design of Ontologies Used for Knowledge Sharing[J].International Journal of Human Computer Studies,1995,43:907-928
    [19] Myo-Myo Naing, Ee-Peng Lim, Dion Hoe-Lian Goh: Ontology-based Web Annotation Frameworkfor HyperLink Structures. WISE Workshops 2002: 184-193
    [20] PEREZ A G.BENJAMINS V R.Overview of knowledge sharing and reuse components:ontologies and problem—solving methods[A].In:Proceedings of the IJCAI’99 Workshop on Ontologies and Problem-Solving Methods[C].Stockholm:CEuR,1999.
    [21] David Gallardo.Getting started with the Eclipse Platform[EB/OL].http://www.ibm.com/developerworks/library/os-ecov/.
    [22] Matthew Scarpino, Stephen Holder. Stanford Ng, Laurent Mihalkovic, SWT/JFace in Action [M]. Manning Publications, 2004.
    [23] Bill Moore, David Dean, Anna Gerber, etc. Philippe Vanderheyden, Eclipse Development--Using the Graphical Editing Framework and the Eclipse Modeling Framework [M]. www.ibm.com/redbooks.
    [24]麻志毅,邵维忠.面向对象方法基础教程[M].北京:高等教育出版社,2004.
    [25]陈和平等.可视化编程技术及应用[M].武汉:武汉理工大学出版社,2005.
    [26]黄志澄.给数据以形象给信息以智能——数据可视化技术及其应用展望[J].电子展望与决策,1999(8).
    [27] Larkin,J.H.& Simon,H.A.Why a diagram is sometimes worth ten thousand words. Cognitive Science,1987(11),65-100.
    [28] Jack Herrington.Code Generation in Action.Greenwich[M],U.K.:Manning Publications co.July 2003.
    [29]柳飞.一种基于XML和模板语言的代码自动生成技术[D].上海:复旦大学,2003.
    [30]刘然,陈英,赵小林.基于UML的CASE平台的代码自动生成[J].北京理工大学学报.2002,22(2):196-200
    [31]张晏,麦先根,贾璐.Eclipse插件开发技术浅谈[J].航天计算技术.2006,36(6):102-103
    [32]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.
    [33]计卫星,邓宁,高玉金,石峰.一种对象级并行计算模型及其实现技术研究[J].北京理工大学学报,2009(10).
    [34] Carma McClure. Software Reuse Techniques : Adding Reuse to the system Development Process[M].Prentice Hall.July 1997.
    [35] Holger Knublauch,Thomas Rose.Round-Trip Engineering of Ontologies for Knowledge-Based Systems[C].In:Proceeding of the 12th International Conference on Software Engineering and Knowledge Engineering,2000:239-247
    [36] Jacobson I. Object-Oriented Software Engineering, A Use Case Driven Approach[M]. New York: Addison-Wesley Publishing Company,1992.
    [37] Gruninger M,Fox M S.Methodology for the Design and Evaluation of Ontologies[R].Toronto:University of Toronto,1995
    [38] M Uschold. Ontologies Principles , Methods and Applications[J] . Knowledge Engineering Review,1996,11(2):50-58.
    [39] Stephen S. PROOF: a parallel object-oriented functional computation model. Journal of Parallel and Distributed Computing[J], USA IEEE Computer Society Press, 1991, 12(3):202-212.
    [40] Gannon D., Yang S. X., Beckman P. User guide for a portable parallel C++ programming system:pC++[R]. Technical Report, Indiann University, 1994.
    [41]麻志毅,邵维忠.面向对象方法基础教程[M],北京:高等教育出版社,2004.
    [42]陈和平等.可视化编程技术及应用[M],武汉:武汉理工大学出版社,2005.
    [43]牛丽平等.UML面向对象设计与分析基础教程[M],北京:清华大学出版社,2007.
    [44]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.
    [45] Hans-Erik Eriksson等,UML 2 Toolkit[M].北京:电子工业出版社,2004
    [46]罗时飞.精通Spring [M].北京:电子工业出版社,2005.
    [47]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.
    [48] Eclipse完全手册——基础进阶高级[M].北京:电子工业出版社,2006.
    [49]严禄,李利.从UML类图到本体的自动映射[J].科学技术与工程,2008(13)
    [50]王杨.基于SSH框架多层结构的代码生成工具的设计与实现[D].沈阳:沈阳理工大学,2003.
    [51]何艳丽.面向对象并行技术的研究[D].郑州:郑州大学,2003.
    [52]曹咏春.Java可视表达和可视运行的研究与实现[D].广州:广东工业大学,2004.
    [53] Womble, D.E., Dosanjh, S.S., Hendrickson, B., et al. Massively parallel computing: a Sandia perspective[J]. Parallel Computing,1999,25(13-14):1853~1876.
    [54] Nasser Giacaman and Oliver Sinnen. Task Parallelism for Object Oriented Programs[A]. In: the proceeding of the International Symposium on Parallel Architectures, Algorithms and Networks, USA ACM Press,2008:13-18.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700