Skills

Smart Cities Living Lab Skills

 

 

Software Development

Our Lab develops complete solutions on different platforms, spanning from Data to Front End design, using several modern technologies.

  • Front End

Front end development of cross-platform web-based and native applications, using last generation web technologies, like JavaScript-based frameworks (AngularJs, ReactJs, Redux) for business logic and JS/CSS frameworks for responsive layout design (Bootstrap 3, Material-UI, Angular-Material).

  • Back End

Back end development of RESTful API services, using asynchronous and event-driven languages (Express, NodeJs) and Java (Spring and Spring Data) frameworks, together with Python and Flask. SQL data design and development using relational DBs such as PostgreSQL and MySQL, data caching and log analysis using non-relational DBs such as MongoDB and Elasticsearch.

 

Cloud management

Our Lab manages a complex system composed of computational and storage resources, distributed on a fiber and copper network (IBM Blade Center, IBM Storwize, Cisco routers). We use XenServer as a hypervisor to virtualize these resources. Our lab also manages a cloud infrastructure using the Platform as a Service (PaaS) OpenShift stack.

 

IoT

IoT oriented script development using Python 3 and architectural design integrating sensor and computational logic on different embedded platforms (Arduino, Raspberry, BeagleBone, Intel Edison and NVidia Jetson TX1). Usage of IoT communication protocols (AMQP, MQTT). Heterogeneous hardware IoT sensor networks installation, administration and remote management.

 

Data analysis

  • Traditional analysis

Sensor calibration through different linear regression techniques. Signal processing of analog and digital sensors. Mathematical modeling of complex physical systems. Usage of Python, C, Matlab/Octave, Mathematica and R.

  • Machine Learning and Deep Learning

Design of Neural Networks for Machine and Deep Learning, solving both classification and regression problems (Feed Forward Networks and Convolutional Networks). Usage of TensorFlow on heterogeneous hardware platforms (NVidia K80 on server and Jetson TX1, using more than 20K CUDA cores). Usage of video analysis algorithms (face recognition, license plate recognition).

 

 

Project management

Software development using “agile” process and project management using tools such as YouTrack. Usage of version control systems such as GIT (running a self-hosted GitLab instance). Usage of continuous integration tools such as Jenkins.

 

Communication

Usage of professional equipment for video shooting. Usage of photo editing and video post-production software. Management of digital signage interactive public displays through XuniPlay platform.