ongoing
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ongoing [2011/03/22 15:19] – bil | ongoing [2017/04/24 20:50] (current) – dymond | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | ======Distributed leader election for simple robots====== | ||
+ | **Supervisors**: | ||
+ | **Project**: | ||
+ | Utilizing the concept of an infection algorithm — a process much like the spread of a disease in which agents infect each other with | ||
+ | information — it is possible to develop a probabilistic approach to this kind of leader election problem. Solutions to this type of problem finds wide application in distributed computing, and in particular distributed computing of autonomous agents and sensors which must compute information about control structures with limited information about the presence/ | ||
- | ====== Acoustic Cues and Self Motion ====== | + | To make this project more specific, |
+ | If time permits, the project will also study possible | ||
- | **Student**: | + | **Required skills**: knowledge of Java or Python. Interest in algorithms for a distributed collection of simple robot agents. Completion of 3rd year courses in computer science or computer engineering. |
- | **Supervisor**: Michael Jenkin | + | |
+ | ======Asynchronicity in infection algorithms====== | ||
+ | |||
+ | **Supervisors**: Professors Michael Jenkin and Patrick Dymond | ||
+ | |||
+ | **Project**: | ||
+ | |||
+ | Infection algorithms are a class of algorithms within which individual agents exchange information via infection. That is, the algorithm proceeds by the various agents transmitting (infecting) each other with information. Under an assumption of synchronization — that is, a model in which no two agents can infect each other at precisely the same time — it is possible to derive models of expected time until all agents have been infected. But how does this algorithm adapt when agents can actually infect each other simultaneously? | ||
+ | |||
+ | **Required skills**: knowledge of Java or Python. Interest in algorithms for a distributed collection of simple robot agents. Completion of 3rd year courses in computer science or computer engineering. | ||
+ | |||
+ | \\ | ||
+ | ======Simultaneous localization and mapping (SLAM) aided by a single unique directional landmark====== | ||
+ | |||
+ | **Supervisors**: | ||
+ | |||
+ | **Project**: | ||
+ | |||
+ | SLAM algorithms have been developed for a large number of different environments, | ||
+ | |||
+ | **Required skills**: knowledge of Java or Python. Interest in algorithms for robots. Completion of 3rd year courses in computer science or computer engineering. | ||
+ | |||
+ | ====== Comparison of Finger Tracking systems ====== | ||
+ | |||
+ | **Student**: | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | **Required Background**: | ||
__Description__ | __Description__ | ||
+ | This project compares the Leap Motion and the 3Gear System against each other in a comparative Fitts' law study | ||
- | We are capable of estimating the magnitude of our own self-motion and the relative motion of other objects as we move about in our natural environment. This perception is based on information arising from several sensory modalities including visual, auditory, and physical motion. In general, the perceived distance of self-motion is over-estimated when using visual or physical motion cues solely or even in conjunction, | ||
- | The purpose of this project is twofold: i) develop software that will permit conducting of psychophysical experiments that examine audio + visual motion perception, and ii) conduct an experiment that will investigate the interaction of audio + visual cues on our perception of self-motion. | + | __Completed__ |
+ | Winter, 2013 | ||
- | ====== | + | ====== |
- | **Student**: | + | **Student**: |
- | **Supervisor**: | + | **Supervisor**: |
__Description__ | __Description__ | ||
- | This project seeks to take the theoretical description | + | Microarrays are a relatively new technology that have had tremendous |
- | non-blocking chromatic search tree that was developed | + | impact on many areas within biology and bioinformatics. |
- | previous CSE4080 project and produce a Java implementation, | + | technology enables researchers |
- | experiments to test it and compare it with other leading concurrent dictionary structures. | + | and/or conditions |
- | Additionally, many potential performance improvements and structural or | + | Due to technological limitations and experiment design issues, |
- | algorithmic variations on the aforementioned theoretical description | + | microarray data sets typically have several missing values. It has been |
- | were identified during the last project. | + | shown that imputation |
- | This project would attempt to explore many of these variations to | + | different processing tasks, including clustering, that are typically |
- | further refine the theoretical description, and produce a competitive | + | done on these data sets. |
- | dictionary algorithm. | + | required. |
- | In particular, this project would | + | |
- | provide a dictionary implementation with better | + | |
- | worst-case performance guarantees than previous | + | |
- | non-blocking dictionary implementations. | + | |
- | Finally, the project would attempt to establish formal proofs that the | + | In this project, we will explore fast and accurate imputation algorithms |
- | structure provides guarantees regarding balance | + | for microarray data. The student will first read the papers assigned |
- | If time permits, further work will be done towards establishing | + | and write a short summary of them. Then, he will study the performance |
- | correctness | + | a few algorithms from the literature (many algorithms are already |
+ | implemented but 1 - 2 may need to be implemented). | ||
+ | work with the supervisor on the design of better algorithms for the | ||
+ | problem being studied. | ||
+ | compare the performance (accuracy and speed) | ||
+ | the GMCImpute algorithm and several other existing ones. | ||
- | ====== UCOSP: Development for Encyclopedia of Life ====== | + | Throughout the course, the student is required to maintain a course |
+ | website to report any progress and details about the project. | ||
- | **Student**: | + | ====== An Open Source Structural Equation Modeling Graph Drawing Application ====== |
- | **Supervisor**: | + | **Student**: |
+ | |||
+ | **Supervisor**: | ||
__Description__ | __Description__ | ||
- | The Encyclopedia of Life (EOL) is a free, online collaborative | + | Structural equation modeling |
- | encyclopedia intended to document all of the 1.8 million living species | + | |
- | known to science. It is compiled from existing databases and from | + | |
- | contributions | + | |
- | The ultimate criteria of success for a web application | + | Collected data is used to estimate |
- | experience. EOL is no exception. This project involves creating a | + | |
- | framework for describing how visitors are supposed to interact with | + | |
- | Encyclopedia | + | |
- | code is functioning as expected. It is very beneficial for open source | + | |
- | projects to be released often, | + | |
- | releases dramatically and ensure | + | |
- | visual representation. The tests are run either in production or a | + | |
- | duplicate of the production environment. The acceptance testing | + | |
- | framework can be extended | + | |
- | changing the configuration and defining new test suites. It also enables | + | |
- | testing a web application with different browsers and operating systems. | + | |
- | Acceptance testing is an import skill for aspiring developers. By | + | We propose developing |
- | participating in this project you will learn the inner mechanics of | + | |
- | operating | + | |
- | person' | + | |
- | leading open source acceptance testing tool), XML, XPATH, CSS selectors, | + | |
- | and Behavior Driven Development. | + | |
- | More information: | + | ====== Exploring the notion of Variability in Business Process Modeling (and its relationship with Goals) ====== |
+ | |||
+ | **Student**: | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | __Description__ | ||
+ | |||
+ | Business Process Modeling (BPM) notations are an increasingly popular subject of investigation in the analysis and design of Information Systems. Such notations allow analysts to represent different ways by which actors of a domain can collaboratively perform tasks in order to meet certain business goals. The diagrammatic result allows understanding of the involved activities at various levels of abstraction each being useful for different stakeholders, | ||
+ | |||
+ | Variability occurs in business processes, in that the same business process may need to either be reused in a different context (e.g. a different organization) or adapt to changing requirements or environmental constraints. Thus, each variation of the business process is applicable to a different situation affects specified customization criteria in a different way. Such criteria may include high-level qualities or non-functional goals e.g. such as key performance indicators (KPIs) or operational constraints that prescribe patterns which the business process must follow. To some extend BPMs offer constructs for modeling such variability. However, both the problems of modeling customization criteria and that of using them to derive business process variations that best satisfy them have not enjoyed significant attention in the literature. | ||
+ | |||
+ | In this project we shall investigate ways of modeling and reasoning about business process variability. We will pick a BPM, possibly BPMN, and explore different ways by which variability can be expressed. Then we will look at criteria that define variant selection and how such can be represented as well. Through possible formalizations in specification frameworks that are used in AI such as Situation Calculus or planning definition languages, the problem of automatically selecting variants of interest in order to meet certain customization criteria shall be studied. In the end we are hoping to develop a concrete framework for representing and reasoning about business process variability in light of high-level goal-based customization criteria. | ||
+ | |||
+ | ====== Mobile Software Development Platform Comparison: Windows Phone 7 and Android ====== | ||
+ | |||
+ | **Student**: | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | __Description__ | ||
+ | |||
+ | Over the past decade the development and use of smartphone technologies has become increasingly sophisticated. The computational power of modern smartphones is growing to match the power of conventional desktop computers. | ||
+ | |||
+ | The goal of this project is to explore and compare the software development platforms for popular mobile phone operating systems for the development of applications and games. | ||
+ | |||
+ | Business applications and games have distinctive features in the context of mobile platforms. For regular applications, | ||
+ | |||
+ | The games developed in each platform are intended to serve as explorations into the graphics capabilities of both systems. Graphics environments and frameworks are another area in mobile devices that are becoming increasingly important. Rich graphics and animation capabilities are important for providing immersive user experiences and games are excellent environments to develop and test interactive graphics capabilities on mobile devices. The Windows Phone 7 game development framework uses and extension of Microsoft’s well established XNA framework. This provides libraries to develop and debug game and graphics engines and easily integrate multimedia content into mobile games. Android game applications depend on a to be determined open source game engine. | ||
+ | |||
+ | This project aims to compare the mobile platforms with respect to development languages, the use of object oriented software development principles and the utility of the tools. The applications and documentation developed through the course of this project should also provide a good source of information | ||
+ | |||
+ | ====== CPS/1 Emulator ====== | ||
+ | |||
+ | **Student**: Vahid Bahreman | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | __Description__ | ||
+ | |||
+ | The manufacturers of tablets, pocket PCs, smart-phones, | ||
+ | release software simulators (or emulators) of these devices to emulate | ||
+ | the functionality of actual products for cost-effective development of | ||
+ | application software | ||
+ | screen, keyboard, or trackwheel will work with an application under | ||
+ | development). These simulators can also be used as sophisticated tools | ||
+ | for testing, training and in presentations. The design and | ||
+ | implementation of such emulators require a broad computer science | ||
+ | expertise from hardware architecture to operating systems and computer | ||
+ | graphics. | ||
+ | |||
+ | The history of computing is another area that actively supports | ||
+ | development of emulators of historically significant hardware (mostly | ||
+ | computers | ||
+ | emulator of almost every significant system. This activity contributes, | ||
+ | in the first place, to the preservation and dissemination of significant | ||
+ | hardware and software technologies. The project' | ||
+ | and implement an emulator of the CPS/1 computer -- one of the | ||
+ | commercially available microprocessor-powered computers. York University | ||
+ | Computer Museum is in the possession of CPS-1' | ||
+ | other technical documentation. The completed project would be a | ||
+ | significant contribution to the preservation of unique Canadian computer | ||
+ | technologies. | ||
+ | |||
+ | Background information: | ||
+ | Canadian company Microsystems International Ltd. between 1972 and 73. | ||
+ | The computer | ||
+ | MF7114--one of world' | ||
+ | CPS/1 computers have survived, technical information about the CPS/1 has | ||
+ | been preserved. This makes the design and implementation | ||
+ | emulator possible. More information on | ||
+ | http://www.cse.yorku.ca/ | ||
+ | |||
+ | ====== Quantum Cryptography ====== | ||
+ | |||
+ | **Student**: | ||
+ | |||
+ | **Supervisor**: | ||
+ | |||
+ | __Description__ | ||
+ | Quantum mechanics makes it impossible (not just infeasible) to passively eavesdrop on a communication channel. Quantum channels are thus ideal for secret key distribution, | ||
+ | Determining the block size in this protocol is critical due to its exponential effect on information leaked to an eavesdropper. If the block size is too small, too much information is leaked, and if it is too large, not enough bits will be shared. | ||
+ | |||
+ | The purpose of this project is to simulate the protocol in a Java program and then run the simulation for a variety of error rates and block sizes while monitoring the leakage. This will allow us to determine the optimal block size for the BB84 Quantum Key Distribution Protocol. |
ongoing.1300807142.txt.gz · Last modified: 2011/03/22 15:19 by bil