I am interested in practical application of software engineering and service-oriented architecture (SOA).
All of my publications can be found here.
The service-oriented architecture (SOA) is an architecture paradigm in software engineering. In SOA, every feature of a system is considered as a service, and the service is exposed to a network. Multiple services are composed over the network to construct a new service. The SOA is implemented by the Web service technologies (i.e., REST, SOAP). Any client program can easily consume remote services as if the program accesses Web pages.
Traditionally, the SOA has been used for integration of enterprise systems. However, it is widely used for other systems too, due to success of Web services and cloud computing. In the present, various computing resources such as mail, schedule, database, hard disk, server, and SNS, are managed in the cloud (i.e., network). Users can consume these resources as services (XaaS, X as a Service), without installing them in the local machines.
All heterogeneous systems are abstracted uniformly as services by the SOA, which facilitates integration of heterogeneous distributed systems. Emerging IoT, robots, big data, and AI algorithms can be easily integrated, if the SOA is successfully applied to them. Recently, the SOA evolves to the micro-service architecture, which develops a software application as a composition of small services.
Web of Things (WoT) powered by SOA
However, it is not obvious how to apply SOA to any given system. For example, it is not easy to explain the following issues:
These problems are still addressed in ad-hoc manners, based on tastes and experiences of individual developers.
Our research group is studying how to apply the SOA into practice from a perspective of software engineering.
Also, we try to solve practical issues in our society by applying the SOA to various application fields such as sensors, cloud, SNS, lifelog, HCI.
A smart system refers to a system that creates new values and features, by integrating things and devices in a real world with information systems over a network. A smart system is also called a cyber-physical system (CPS). Research and development are under way in various fields, including smart grid, smart home, smart city, smart agriculture, and smart health-care.
A smart system comprises a large-scale and heterogeneous distributed system where various systems in physical and cyber worlds are incorporated. Therefore, a smart system is one of most suitable applications that the SOA can cope with.
We have been developing a smart home system, called CS27HNS, in our laboratory. Powered by the SOA, CS27-HNS deploys multi-vendor household appliances as Web services. Household appliances such as TV, air-conditioner, light, curtain, and fan can be operated by Web. Moreover, sensors, such as temperature, humidity, sound volume, air pressure, and human presence, can be also operated as Web services. Integrating these Web services, we are developing practical value-added services and systems.
HATSUNE Miku as home network interface
RuCAS: Platform for creating context-aware services by non-expert users
Attentive Home (collaboration with a house maker)
Integrating multiple smart homes in a city together with city infrastructure such as road, trains, shops would be able to solve problems in the city. Every city has some problems, including energy consumption, traffic jam, air pollution, safety, security, vacant stores in shuttered streets. A smart city collects various data from sensors and systems deployed within the city, grasps the current state of the city, and performs appropriate actions for a better state. This cycle eventually brings the city to an ideal state.
A major challenge of smart city lies in its scale of the system. Of course, a smart city generates a huge amount and a wide variety of data to be dealt with. Moreover, we have to achieve continuous operation and maintenance of a large amount of sensors and devices scattered over the city. Thus, the key is how to minimize the human effort for managing the system in a scalable and reliable manner.
Scallop4SC: Scalable Logging Platform for Smart City
Autonomous Sensor Box for Smart City Environment Sensing
MITSUKERU: Safety Confirmation Service with Pass-by (Proximity) Communication
Mission-Oriented Large-Scale Environment Sensing with Analogy of Military System
PRISM: Personalized Real-time Information service with Security Map
A smart system is also expected by elderly or disabled people. In this super-aging society, the ICT is one of most promising technologies for safe and quality living. The engineering-based approach towards the aging society is called gerontechnology. Research and development of gerontechnology as well as smart health-care system attract great attention all over the world.
We are working with experts, elderly and handicapped people in a a hospital, wellfare facilities, and a handicapped school. Reflecting opinions in real fields, we are developoing practical system and services.
Virtual Care Giver: Virtual Agent for Personalized Home Elderly Care
MIETA: Multi-Modal Speech Visualization Application for Deaf and Hard-of-Hearing people
Tales of Familiar: Personalized Narrative Delivery Service Using IoT
A smart system provides services that interact with human users, physical things, and environments in a real world. Therefore, a small defect in the system may cause a serious accident, leading to an injury of a user, and a damage to a property. Thus, the smart system should achieve not only convenience and values, but also safety and security. Therefore, it is essential to validate if a given smart system is safe.
Moreover, a smart system consists of multiple components and features. Hence, even if each individual service is proven to be safe, a combined use of multiple services may cause an unexpected defect, due to a functional conflict between the services. This problem is generally called feature interactions.
We have been studying formal methods that can validate that a given smart service is safe or not. We have also implemented a system that can formalize, detect, and resolve feature interactions in a smart home.
Example of Feature Interaction: Panic Open Service vs Remote Lock Service
Safety Validation Method Using Hazard Analysis
We have been studying other topics, including software comprehension, software protection, software engineering. More details can be found in the following links.