
Importance of data programming significantly rises as scientific modeling steadily becomes more complex, involving a great diversity of data sources and consuming huge amount of computational resources. Our research in data programming targets multidimensional datasets those are inherently specific for scientific applications.
First, we are trying to make in multidimensional data programming what LINQ has done in relational data programming – significantly improve programmability and enable even non-professional programmers (e.g. domain scientists) to perform easily complex data operations using “native” succinct syntax.
Second, we want to make it much easier to create multithreaded data consuming or producing applications, thus having responsive user interface and using full power of multicore systems. To tame concurrency in multidimensional data programming we hide all the complexity of shared data access synchronization under the hood.
Third, data should be accessible everywhere regardless a type of data source and should be easily integrated in a data-oriented application. The very important issue is to enable transparent data access located in Cloud and thus simplify Cloud applications developing. Also the approach can become a foundation for dynamic dataflows, which is a promising way to create complex distributes and interactive data-oriented applications; for example, creating multi-scale modeling application by coupling of separate simpler applications.