5,136 research outputs found
An ontology framework for developing platform-independent knowledge-based engineering systems in the aerospace industry
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
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
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
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
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
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
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
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
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
- âŠ