A.Letichevsky “The machines of Luca Cardelli”

On the May 18, 2011 I went to the seminar “Cognitive architectures” in Kyiv National Taras Schevchenko University. Lecturer was Letichevsky Alexander Adolfovich (http://www.wobi.ru/l/letichevskij-aleksandr-adolfovich/) from Glushkov
Institute of Cybernetic of NAS of Ukraine (http://www.icyb.kiev.ua/). The theme of presentation was “The machines of Luca Cardelli”. Luca Cardelli is an Italian computer scientist who is currently an Assistant Director at Microsoft Research in Cambridge, UK.
Cardelli is well-known for his research in type theory and operational semantics (http://lucacardelli.name/).

It was very interesting lecture about one of the approaches for modeling in the theory of
processes. Partially lecturer said about such notions as π-Calculus, Computational Ambients.

Advertisements

Some words about my graduate science… :)

Who doesn’t know, I have entered graduate school in Kyiv national Taras Schevchenko University (http://www.univ.kiev.ua/) in 2010. I study at the faculty of Cybernetics (http://unicyb.kiev.ua/ua/).

The theme of my dissertation is “The identificational pseudoinverse approach to the constructing of mathematical models of dynamic linear spatially-distributed systems and their program realization”. This work is executed at the department of complex systems modeling (http://www.mss.unicyb.kiev.ua/index.php?p=aspirant). My supervisor is Volodymyr V. Stoyan, prof., Dr. Ph.-Math. S. (http://www.mss.unicyb.kiev.ua/index.php?p=staff&staff=5)

The purpose of dissertation is to develop and elaborate methods of identification of dynamic systems. This problem is very important in modern cybernetics. The research will be directed to constructing mathematical models of distributed space-time processes, which are hardly formalized. Also I research and predict their functionality in the presence of limited information about their progress.

Models describe our beliefs about how the world functions. In mathematical modeling, we translate those beliefs into the language of mathematics. This has many advantages:

  • mathematics is a very precise language. This helps us to formulate ideas and identify underlying assumptions;
  • mathematics is a concise language, with well-defined rules for manipulations;
  • all the results that mathematicians have proved over hundreds of years are at our disposal;
  • computers can be used to perform numerical calculations.

There is a large element of compromise in mathematical modeling. The majority of interacting systems in the real world are far too complicated to model in their entirety. Hence the first level of compromise is to identify the most important parts of the system. These will be included in the model, the rest will be excluded. The second level of compromise concerns the amount of mathematical manipulation which is worthwhile. Although mathematics has the potential to prove general results, these results depend
critically on the form of equations used. Small changes in the structure of equations may require enormous changes in the mathematical methods. Using computers to handle the model equations may never lead to elegant results, but it is much more robust against alterations.

Stages of modeling. It is helpful to divide up the process of modeling into four broad categories of activity, namely building, studying, testing and use. Although it might be nice to think that modeling projects progress smoothly from building through to use, this is hardly ever the case. In general, defects found at the studying and testing stages are corrected by returning to the building stage. Note that if any changes are made to the
model, then the studying and testing stages must be repeated. A pictorial representation of potential routes through the stages of modeling is:

This process of repeated iteration is typical of modeling projects, and is one of the most useful aspects of modeling in terms of improving our understanding about how the system works.

Practical application of the proposed methods and algorithms in my dissertation is to develop software which implements them. I create this software using the development environment Microsoft Visual Studio 2010. The .NET Framework is an integral Windows component that supports building and running the applications. The key components of the .NET Framework are the Common Language Runtime and the .NET Framework Class Library, which includes ADO.NET, ASP.NET, Windows Forms and Windows Presentation Foundation. The .NET Framework providers the integration with a wide variety of programming languages. In particularly I use C# for the development the software for my dissertation.

One of the features of my software is the parallel programming in the .NET Framework. Nowadays many computers and workstations have two or four cores that enable multiple threads to be executed simultaneously. And in near future computers will have more cores. To take advantage of the hardware developers can parallelize their code to distribute work across multiple processors. In the past, parallelization required
low-level manipulation of threads and locks. Visual Studio 2010 and the .NET Framework 4 enhance support for parallel programming by providing a new runtime, new class library types and new diagnostic tools. These features simplify parallel development and help to create efficient applications. In the simplest sense parallel computing is the simultaneous using of multiple compute resources to solve a computational problem. The compute resources can include:

  • a single computer with multiple processors;
  • an arbitrary number of computers connected by a network;
  • a combination of both.

Parallel computing is used to model difficult scientific and engineering problems in the real world.

As it is mentioned above, one of the aspects of my dissertation is the software development. This product is for PC execution. However, it would be better to do something newer and more original. And so I want my mathematical algorithms for the modeling complex systems to be implemented by robots. Recently, in 2008, Microsoft Corporation has released new product which is called Microsoft Robotics Development Studio (RDS). This is a Windows-based environment for academic, hobbyist and commercial developers to easily create robotics applications across a wide variety of hardware. RDS includes a lightweight asynchronous service-oriented runtime, a set of visual and simulation tools. This product consists of such components: Concurrency and
Coordination Runtime, Decentralized Software Services, DSS Manifest Editor, Visual Programing Language, Visual Simulation Environment. Visual Programming Language provides drag-and-drop tools to create robotics applications. VPL is also compatible with another .NET language C#.

Мій перший візит до “Майкрософт Україна”

Нарешті я дочекався цього дня – 31 березня 2011 р. Це дата початку проведення заходу TechDays-Весна від копорації Майкрософт в м. Києві. Я вперше побував у їхньому офісі, який знаходиться в б-центрі “Євразія”. В цей день я особисто міг поспілкуватися з Ігором Шастітко. Це круто. Він дуже кльовий “чєл”. Завтра буде наступний день цього заходу.Microsoft