Concepts

The Legato Application Framework is designed to simplify embedded IoT development and connect your applications to the cloud and network services. But how do we do that? We've developed a set of conventions and tools that let you easily hook up your custom apps to existing service apps (platform services) which then in turn hook up to the OS and hardware through an adapter. When you are developing your apps for a target you only need to worry about how to connect to services and send or receive data.

This section explains all of our concepts and how to integrate the concepts into developing your apps and building your system. Refer to our glossary to define some of our basic terminology.

Develop

The built product of the Legato Application Framework is the Legato runtime environment which is created from a system. A system is how you configure and customize the Legato Runtime Environment for your target and define what apps and platform services that you want to use. Apps are collections of components and files that run in a secure environment called a sandbox. At the heart of every app is one or more components, the component is the collection of code or other files that are functionally related and need to exist in the same space. Components communicate with each other and/or other apps through interfaces.

The following sections explain our strategies to use components and interfaces in developing your components, apps and systems:

Section Description
Systems, Apps & Components Overview of Systems, Apps and Components
Definition Files Use Definition Files to build systems, apps, and components
Kernel Modules Learn about Kernel Modules within a Legato System
Components Learn about components and how to integrate your code into one
Interfaces Use interfaces to facilitate component and app communication
Inter-process Communication Use IPC to communicate between different processes
Event-driven Programming Use Event-driven Programming to trigger callback functions
API Files Work with the API files to develop Apps
C Language Standards Learn about the C Language Coding Standards used
Internationalization Learn about our basic Internationalization standards

Runtime

Once you have created your components and apps you will be combining them into a system, and then installing that system onto a target. The runtime environment is the combination of your custom apps any platform services that you have included (or have been defaultly built into the system) and Legato Daemons that take care of the management of the target and the apps installed on the target.

The following sections provide more details on the runtime architecture:

Section Description
Runtime Architecture Learn about the daemons that administrate and monitor your apps
Security Learn about the Legato Security model
App/System Configuration Learn about our Configuration Management model for systems and apps
Logging Learn how Legato deals with logging
Updates Learn the different methods of updating your target
Power Management Learn about power management strategies within apps