10 research outputs found

    Implementation of Visual Computing for the Compiler of Programming Language Gödel

    Get PDF
    Gödel语言是继Prolog语言之后出现的新型说明性通用逻辑程序设计语言,它是建立在多态多类一阶逻辑基础上的强类型语言。Gödel语言同Prolog语言相比,摒弃了Prolog语言中的非逻辑成分,增加了参数型多态多类类型系统,引入了延迟计算等新的语言成分,支持模块化程序设计和元程序设计,具有灵活的技术规则和剪枝操作,使Gödel语言成为具有较强功能而且比较实用的一种说明性逻辑程序设计语言。 逻辑程序设计语言与过程性程序设计语言如Pascal、C等相比,最大的区别是逻辑程序设计语言提供了一种说明性的编程方法。这使得逻辑程序开发人员在程序设计中不需要考虑“如何解决...Gödel is a declarative, general-purpose programming language succeeded to Prolog in the family of logic programming languages. Compared with the algorithm-based programming language such as Pascal, C and so on, logic programming language provides a declarative program designing method. So the logic language programmers focus on description the problem and quest for the solution at the level o...学位:工学硕士院系专业:信息科学与技术学院计算机科学系_计算机系统结构学号:2005130228

    Requirements Engineering of Context-Aware Applications

    Get PDF
    Context-aware computing envisions a new generation of smart applications that have the ability to perpetually sense the user’s context and use these data to make adaptation decision in response to changes in the user’s context so as to provide timely and personalized services anytime and anywhere. Unlike the traditional distribution systems where the network topology is fixed and wired, context-aware computing systems are mostly based on wireless communication due to the mobility of the network nodes; hence the network topology is not fixed but changes dynamically in an unpredictable manner as nodes join and the leave network, in addition to the fact that wireless communication is unstable. These factors make the design and development of context-aware computing systems much more challenging, as the system requirements change depending on the context of use. The Unified Modelling Language (UML) is a graphical language commonly used to specify, visualize, construct, and document the artefacts of software-intensive systems. However, UML is an all-purpose modelling language and does not have notations to distinguish context-awareness requirements from other system requirements. This is critical for the specification, visualization, construction and documentation of context-aware computing systems because context-awareness requirements are highly important in these systems. This thesis proposes an extension of UML diagrams to cater for the specification, visualization, construction and documentation of context-aware computing systems where new notations are introduced to model context-awareness requirements distinctively from other system requirements. The contributions of this work can be summarized as follows: (i) A context-aware use case diagram is a new notion which merges into a single diagram the traditional use case diagram (that describes the functions of an application) and the use context diagram, which specifies the context information upon which the behaviours of these functions depend. (ii) A Novel notion known as a context-aware activity diagram is presented, which extends the traditional UML activity diagrams to enable the representation of context objects, context constraints and adaptation activities. Context constraints express conditions upon context object attributes that trigger adaptation activities; adaptation activities are activities that must be performed in response to specific changes in the system’s context. (iii) A novel notion known as the context-aware class diagram is presented, which extends the traditional UML class diagrams to enable the representation of context information that affect the behaviours of a class. A new relationship, called utilisation, between a UML class and a context class is used to model context objects; meaning that the behaviours of the UML class depend upon the context information represented by the context class. Hence a context-aware class diagram is a rich and expressive language that distinctively depicts both the structure of classes and that of the contexts upon which they depend. The pragmatics of the proposed approach are demonstrated using two real-world case studies

    SEGMENTATION AND INFORMATICS IN MULTIDIMENSIONAL FLUORESCENCE OPTICAL MICROSCOPY IMAGES

    Get PDF
    Recent advances in the field of optical microscopy have enabled scientists to observe and image complex biological processes across a wide range of spatial and temporal resolution, resulting in an exponential increase in optical microscopy data. Manual analysis of such large volumes of data is extremely time consuming and often impossible if the changes cannot be detected by the human eye. Naturally it is essential to design robust, accurate and high performance image processing and analysis tools to extract biologically significant results. Furthermore, the presentation of the results to the end-user, post analysis, is also an equally challenging issue, especially when the data (and/or the hypothesis) involves several spatial/hierarchical scales (e.g., tissues, cells, (sub)-nuclear components). This dissertation concentrates on a subset of such problems such as robust edge detection, automatic nuclear segmentation and selection in multi-dimensional tissue images, spatial analysis of gene localization within the cell nucleus, information visualization and the development of a computational framework for efficient and high-throughput processing of large datasets. Initially, we have developed 2D nuclear segmentation and selection algorithms which help in the development of an integrated approach for determining the preferential spatial localization of certain genes within the cell nuclei which is emerging as a promising technique for the diagnosis of breast cancer. Quantification requires accurate segmentation of 100 to 200 cell nuclei in each patient tissue sample in order to draw a statistically significant result. Thus, for large scale analysis involving hundreds of patients, manual processing is too time consuming and subjective. We have developed an integrated workflow that selects, following 2D automatic segmentation, a sub-population of accurately delineated nuclei for positioning of fluorescence in situ hybridization labeled genes of interest in tissue samples. Application of the method was demonstrated for discriminating normal and cancerous breast tissue sections based on the differential positioning of the HES5 gene. Automatic results agreed with manual analysis in 11 out of 14 cancers, all 4 normal cases and all 5 non-cancerous breast disease cases, thus showing the accuracy and robustness of the proposed approach. As a natural progression from the 2D analysis algorithms to 3D, we first developed a robust and accurate probabilistic edge detection method for 3D tissue samples since several down stream analysis procedures such as segmentation and tracking rely on the performance of edge detection. The method based on multiscale and multi-orientation steps surpasses several other conventional edge detectors in terms of its performance. Subsequently, given an appropriate edge measure, we developed an optimal graphcut-based 3D nuclear segmentation technique for samples where the cell nuclei are volume or surface labeled. It poses the problem as one of finding minimal closure in a directed graph and solves it efficiently using the maxflow-mincut algorithm. Both interactive and automatic versions of the algorithm are developed. The algorithm outperforms, in terms of three metrics that are commonly used to evaluate segmentation algorithms, a recently reported geodesic distance transform-based 3D nuclear segmentation method which in turns was reported to outperform several other popular tools that segment 3D nuclei in tissue samples. Finally, to apply some of the aforementioned methods to large microscopic datasets, we have developed a user friendly computing environment called MiPipeline which supports high throughput data analysis, data and process provenance, visual programming and seamlessly integrated information visualization of hierarchical biological data. The computational part of the environment is based on LONI Pipeline distributed computing server and the interactive information visualization makes use of several javascript based libraries to visualize an XML-based backbone file populated with essential meta-data and results

    Visual programming environments for multi-disciplinary distributed applications

    Get PDF
    A Problem Solving Environment is a complete, integrated computing environment for composing, compiling and running applications in a specific problem area or domain. A Visual Programming Environment is one possible front end to a problem solving environment. It applies the visual programming paradigms of "point and click" and "drag and drop", via a Graphical User Interface, to the various constituent components that are used to assemble an application. The aim of the problem solving environment presented here is to provide the ability to build up scientific applications by connecting, or plugging, software components together and to provide an intuitive way to construct scientific applications. Problem solving environments promise a totally new user environment for computational scientists and engineers. In this new paradigm, individual programs combined to solve a problem in their given area of expertise, are wrapped as components within an integrated system that is both powerful and easy to use. This thesis aims to address: problems in code reuse the combination of different codes in new ways and problems with underlying system familiarity and distribution. This is achieved by abstracting application composition using visual programming techniques. The work here focuses on a prototype environment using a number of demonstration problems from multi-disciplinary problem domains to illustrate some of the main difficulties in building problem solving environments and some possible solutions. A novel approach to code wrapping, component definition and application specification is shown, together with timing and usage comparisons that illustrate that this approach can be used successfully to help scientists and engineers in their daily work.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    SVG 3D Graphical Presentation for Web-based Applications

    Get PDF
    Due to the rapid developments in the field of computer graphics and computer hardware, web-based applications are becoming more and more powerful, and the performance distance between web-based applications and desktop applications is increasingly closer. The Internet and the WWW have been widely used for delivering, processing, and publishing 3D data. There is increasingly demand for more and easier access to 3D content on the web. The better the browser experience, the more potential revenue that web-based content can generate for providers and others. The main focus of this thesis is on the design, develop and implementation of a new 3D generic modelling method based on Scalable Vector Graphics (SVG) for web-based applications. While the model is initialized using classical 3D graphics, the scene model is extended using SVG. A new algorithm to present 3D graphics with SVG is proposed. This includes the definition of a 3D scene in the framework, integration of 3D objects, cameras, transformations, light models and textures in a 3D scene, and the rendering of 3D objects on the web page, allowing the end-user to interactively manipulate objects on the web page. A new 3D graphics library for 3D geometric transformation and projection in the SVG GL is design and develop. A set of primitives in the SVG GL, including triangle, sphere, cylinder, cone, etc. are designed and developed. A set of complex 3D models in the SVG GL, including extrusion, revolution, Bezier surface, and point clouds are designed and developed. The new Gouraud shading algorithm and new Phong Shading algorithm in the SVG GL are proposed, designed and developed. The algorithms can be used to generate smooth shading and create highlight for 3D models. The new texture mapping algorithms for the SVG GL oriented toward web-based 3D modelling applications are proposed, designed and developed. Texture mapping algorithms for different 3D objects such as triangle, plane, sphere, cylinder, cone, etc. will also be proposed, designed and developed. This constitutes a unique and significant contribution to the disciplines of web-based 3D modelling, as well as to the process of 3D model popularization

    Visual programming environments for multi-disciplinary distributed applications

    Get PDF
    A Problem Solving Environment is a complete, integrated computing environment for composing, compiling and running applications in a specific problem area or domain. A Visual Programming Environment is one possible front end to a problem solving environment. It applies the visual programming paradigms of "point and click" and "drag and drop", via a Graphical User Interface, to the various constituent components that are used to assemble an application. The aim of the problem solving environment presented here is to provide the ability to build up scientific applications by connecting, or plugging, software components together and to provide an intuitive way to construct scientific applications. Problem solving environments promise a totally new user environment for computational scientists and engineers. In this new paradigm, individual programs combined to solve a problem in their given area of expertise, are wrapped as components within an integrated system that is both powerful and easy to use. This thesis aims to address: problems in code reuse the combination of different codes in new ways and problems with underlying system familiarity and distribution. This is achieved by abstracting application composition using visual programming techniques. The work here focuses on a prototype environment using a number of demonstration problems from multi-disciplinary problem domains to illustrate some of the main difficulties in building problem solving environments and some possible solutions. A novel approach to code wrapping, component definition and application specification is shown, together with timing and usage comparisons that illustrate that this approach can be used successfully to help scientists and engineers in their daily work

    XML for Visualization

    No full text
    corecore