The main scientific goal of this PhD thesis is to investigate which abstractions shall be part of the next- generation modeling tools and programming languages in the age of the Internet of Things. We are especially interested, but not limited to, the useful abstractions to cope with: concurrency, asynchronous programming, data processing, software dynamics, message passing, network membership discovery and distributed algorithms (e.g., consensus and transactions). Multiagent systems is a scientific domain that covers all these points and integrate artificial intelligence models and technologies (goal-based behaviors, machine learning, stochastic decision models, etc.). Given the distributed / concurrent nature of the applications that we target, we are also interested in providing modeling/-time assistance in order to highlight the possible issues before any deployment on the field. Last but not least: we also want the research outcomes to be practical.

Challenges :

1 - Establish an exhaustive state of the art on modeling approaches, programming language and middleware abstractions, Iot sensors/actuators used in smart cities. Consider which ones shall be part of a modeling approach and programming language, and which ones shall be relegated to library support, based on an extensive study of distributed services requirements.
2 - Propose an extension of the CRIO metamodel (www.aspecs.org), and the SARL programming language (www.sarl.io), developped at the CIAD Lab. Formalize and prove the soundness and correctness of its type system and operational semantics.
3 - Propose an implementation in the SARL infrastructure with state of the art performance. Develop a rigorous micro-benchmarks tests suite, and revisit some suitable larger benchmarks from popular references like http://benchmarksgame.alioth.debian.org/.
4 - Validate the language usefulness for developing distributed applications in the two study fields that are described below.