5,136 research outputs found

    An ontology framework for developing platform-independent knowledge-based engineering systems in the aerospace industry

    Get PDF
    This paper presents the development of a novel knowledge-based engineering (KBE) framework for implementing platform-independent knowledge-enabled product design systems within the aerospace industry. The aim of the KBE framework is to strengthen the structure, reuse and portability of knowledge consumed within KBE systems in view of supporting the cost-effective and long-term preservation of knowledge within such systems. The proposed KBE framework uses an ontology-based approach for semantic knowledge management and adopts a model-driven architecture style from the software engineering discipline. Its phases are mainly (1) Capture knowledge required for KBE system; (2) Ontology model construct of KBE system; (3) Platform-independent model (PIM) technology selection and implementation and (4) Integration of PIM KBE knowledge with computer-aided design system. A rigorous methodology is employed which is comprised of five qualitative phases namely, requirement analysis for the KBE framework, identifying software and ontological engineering elements, integration of both elements, proof of concept prototype demonstrator and finally experts validation. A case study investigating four primitive three-dimensional geometry shapes is used to quantify the applicability of the KBE framework in the aerospace industry. Additionally, experts within the aerospace and software engineering sector validated the strengths/benefits and limitations of the KBE framework. The major benefits of the developed approach are in the reduction of man-hours required for developing KBE systems within the aerospace industry and the maintainability and abstraction of the knowledge required for developing KBE systems. This approach strengthens knowledge reuse and eliminates platform-specific approaches to developing KBE systems ensuring the preservation of KBE knowledge for the long term

    Pando: Personal Volunteer Computing in Browsers

    Full text link
    The large penetration and continued growth in ownership of personal electronic devices represents a freely available and largely untapped source of computing power. To leverage those, we present Pando, a new volunteer computing tool based on a declarative concurrent programming model and implemented using JavaScript, WebRTC, and WebSockets. This tool enables a dynamically varying number of failure-prone personal devices contributed by volunteers to parallelize the application of a function on a stream of values, by using the devices' browsers. We show that Pando can provide throughput improvements compared to a single personal device, on a variety of compute-bound applications including animation rendering and image processing. We also show the flexibility of our approach by deploying Pando on personal devices connected over a local network, on Grid5000, a French-wide computing grid in a virtual private network, and seven PlanetLab nodes distributed in a wide area network over Europe.Comment: 14 pages, 12 figures, 2 table

    The role of concurrency in an evolutionary view of programming abstractions

    Full text link
    In this paper we examine how concurrency has been embodied in mainstream programming languages. In particular, we rely on the evolutionary talking borrowed from biology to discuss major historical landmarks and crucial concepts that shaped the development of programming languages. We examine the general development process, occasionally deepening into some language, trying to uncover evolutionary lineages related to specific programming traits. We mainly focus on concurrency, discussing the different abstraction levels involved in present-day concurrent programming and emphasizing the fact that they correspond to different levels of explanation. We then comment on the role of theoretical research on the quest for suitable programming abstractions, recalling the importance of changing the working framework and the way of looking every so often. This paper is not meant to be a survey of modern mainstream programming languages: it would be very incomplete in that sense. It aims instead at pointing out a number of remarks and connect them under an evolutionary perspective, in order to grasp a unifying, but not simplistic, view of the programming languages development process

    Optimized mobile thin clients through a MPEG-4 BiFS semantic remote display framework

    Get PDF
    According to the thin client computing principle, the user interface is physically separated from the application logic. In practice only a viewer component is executed on the client device, rendering the display updates received from the distant application server and capturing the user interaction. Existing remote display frameworks are not optimized to encode the complex scenes of modern applications, which are composed of objects with very diverse graphical characteristics. In order to tackle this challenge, we propose to transfer to the client, in addition to the binary encoded objects, semantic information about the characteristics of each object. Through this semantic knowledge, the client is enabled to react autonomously on user input and does not have to wait for the display update from the server. Resulting in a reduction of the interaction latency and a mitigation of the bursty remote display traffic pattern, the presented framework is of particular interest in a wireless context, where the bandwidth is limited and expensive. In this paper, we describe a generic architecture of a semantic remote display framework. Furthermore, we have developed a prototype using the MPEG-4 Binary Format for Scenes to convey the semantic information to the client. We experimentally compare the bandwidth consumption of MPEG-4 BiFS with existing, non-semantic, remote display frameworks. In a text editing scenario, we realize an average reduction of 23% of the data peaks that are observed in remote display protocol traffic

    Declarative modeling based on knowledge

    Get PDF
    Les nouvelles technologies de l'image 3D permettent la crĂ©ation de mondes virtuels et des crĂ©atures qui les peuplent avec un tel niveau de dĂ©tails, que pour les effets spĂ©ciaux de cinĂ©ma, il est difficile de distinguer les Ă©lĂ©ments sont gĂ©nĂ©rĂ©s par ordinateur. Cependant, cette technologie est dans les mains habiles de designers, artistes et programmeurs, pour lesquels il faut des semaines Ă  plusieurs annĂ©es pour se former aux outils et obtenir ces rĂ©sultats. La ModĂ©lisation DĂ©clarative est une mĂ©thode qui permet de crĂ©er des modĂšles en fournissant les propriĂ©tĂ©s donnant la description des composants du modĂšle. AppliquĂ©e Ă  l’infographie, la modĂ©lisation dĂ©clarative est utilisĂ©e pour gĂ©nĂ©rer le monde virtuel, en dĂ©terminant le contexte nĂ©cessaire Ă  l'animation et Ă  la conception de la scĂšne, en calculant la position de chaque objet relativement aux relations spatiales, et en gĂ©nĂ©rant le rendu de la scĂšne, utilisĂ© par une systĂšme d'animation et de visualisation. Ce mĂ©moire prĂ©sente les travaux de recherche consacrĂ©s Ă  l'utilisation de la modĂ©lisation dĂ©clarative pour crĂ©er des environnements virtuels, en tirant partie des connaissances sur le contexte de la scĂšne. Les connaissances sont utilisĂ©es afin de faciliter la tĂąche de description, en automatisant ce qui peut ĂȘtre dĂ©duit, comme les usages et les fonctionnalitĂ©s habituelles. Elles sont Ă©galement fondamentales pour que le rĂ©sultat produit corresponde le mieux possible Ă  ce qui est attendu par le concepteur Ă  partir de la description fournie. Les connaissances sont enfin nĂ©cessaires pour faciliter la transition entre le modĂšle de donnĂ©es et l'architecture qui aura la charge d'animer et de faire Ă©voluer la scĂšne.Modern technology has allowed the creation and presentation or VirtualWorlds and creatures with such a high level of detail, that when used in movies, sometimes it is difficult to tell which elements arecomputer-generated and which not. Also, video-games had reached a level close to photographicrealism. However, such technology is at the hands of skillful designer, artists, and programmers, for whom ittakes from weeks to years to complete these results.Declarative modeling is a method which allows to create models specifying just a few properties for the model’s components. Applied to VW creation, declarative modeling can be used to construct theVW, establishing the layout for the objects, generating the necessary context to provide animation and scene design, and generate the outputs used by a visualization/animation system.This document present a research devoted to explore the use of declarative modeling to create VirtualEnvironments, using knowledge exploitation to support the process and ease the transition from the data model to an underlaying architecture which take the task of animating and evolving the scene

    Introduction to Iltis: An Interactive, Web-Based System for Teaching Logic

    Full text link
    Logic is a foundation for many modern areas of computer science. In artificial intelligence, as a basis of database query languages, as well as in formal software and hardware verification --- modelling scenarios using logical formalisms and inferring new knowledge are important skills for going-to-be computer scientists. The Iltis project aims at providing a web-based, interactive system that supports teaching logical methods. In particular the system shall (a) support to learn to model knowledge and to infer new knowledge using propositional logic, modal logic and first-order logic, and (b) provide immediate feedback and support to students. This article presents a prototypical system that currently supports the above tasks for propositional logic. First impressions on its use in a second year logic course for computer science students are reported

    Forty hours of declarative programming: Teaching Prolog at the Junior College Utrecht

    Full text link
    This paper documents our experience using declarative languages to give secondary school students a first taste of Computer Science. The course aims to teach students a bit about programming in Prolog, but also exposes them to important Computer Science concepts, such as unification or searching strategies. Using Haskell's Snap Framework in combination with our own NanoProlog library, we have developed a web application to teach this course.Comment: In Proceedings TFPIE 2012, arXiv:1301.465

    A Framework to Generate 3D Learning Experience

    Get PDF
    A Collaborative Virtual Environment (CVE) is a computer-based virtual space that supports collaborative work and social interplay. In a 3D CVE, a ‘hosting’ 3D world is the necessary ingredient: within it users provided with graphical embodiments called avatars that convey their identity (presence, location, movement etc.), can meet and interact with other users, with agents or with virtual objects. Even if graphics hardware and 3D technologies are rapidly evolving and the increased Internet connection speed allows the sharing of amounts of data and information among geographically distributed users, the development of networked three-dimensional applications is still complicated and requires expert knowledge. Although some collaborative 3D Web technologies and applications have already been developed, most of them are particularly concerned with offering a high level realistic representation of the virtual world since increasing the level of detail increases the sense of ‘virtual presence’ in the 3D world. However, these developments have not, at the same time supported a high level, non-expert authoring process and the concepts of programming flexibility and component re-use have rarely been taken into account. In this introduction, we discuss our research experience in the field of Collaborative Virtual Environments. We will outline our approach which has been based on both multi-channel integration and on high performances issues

    A Classification of Scripting Systems for Entertainment and Serious Computer Games

    Get PDF
    The technology base for modern computer games is usually provided by a game engine. Many game engines have built-in dedicated scripting languages that allow the development of complete games that are built using those engines, as well as extensive modification of existing games through scripting alone. While some of these game engines implement proprietary languages, others use existing scripting systems that have been modified according to the game engine's requirements. Scripting languages generally provide a very high level of abstraction method for syntactically controlling the behaviour of their host applications and different types of scripting system allow different types of modification of their underlying host application. In this paper we propose a simple classification for scripting systems used in computer games for entertainment and serious purposes
    • 

    corecore