Software Infrastructure

Cloud computing is a developing paradigm of distributed computing that is highly adopted nowadays. Both economic and time benefits lead companies to use Cloud Computing.

Users do not need to spend time installing software and configuring the system as it is already set up by the cloud providers, and also there are cost savings as infrastructure installation is minimized. As defined by NIST (National Institute of Standards and Technology), Cloud Computing is composed of three service models, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS provides infrastructure such as storage, network and Virtual Machines, PaaS provides middleware such as database management systems, and SaaS offers services such as applications through a web browser.

M4D aims to define rich conceptual (meta)models to enable the formal abstraction and representation of application and infrastructure descriptions, allowing the semantic annotation and interlinking of functional and non-functional requirements, software dependencies, service capabilities and QoS, reusing existing general-purpose ontologies and extend according to domain requirements. The research focuses on capturing information at higher levels of abstraction, enabling the conceptual description of artifacts, services, code and platforms to foster advanced context-aware searching, matchmaking, validation and reuse. Currently, the results of the research have been used to empower DevOps that face the problem of complex deployment models on heterogeneous infrastructures.

An Ontology excerpt representing TOSCA language concepts
A knowledge-base guided authoring tool for complex deployment models