Documentation/Maemo 5 Developer Guide/Architecture/Top Level Architecture

(Created page with '=Maemo 5 Software Architecture= The following figure gives a logical decomposition view of Maemo 5 software architecture based on the domains delivering software to the Fremantle…')
(add link)
 
(7 intermediate revisions not shown)
Line 1: Line 1:
-
=Maemo 5 Software Architecture=
+
The following figure gives a logical decomposition view of Maemo 5 software architecture based on the domains delivering software to the [[Open development/Maemo roadmap/Fremantle|Fremantle]] release. Proprietary components are marked in <font color="red">red</font>.
-
The following figure gives a logical decomposition view of Maemo 5 software architecture based on the domains delivering software to the Fremantle release.
+
-
''Note: The components marked in <font color=red> red</font> are proprietary components.''
+
[[Image:top_level_architecture.png|800px|alt=Block diagram|Top-level architecture diagram, with proprietary components marked in red]]
-
[[Image:top_level_architecture.png|800px]]
+
* [[Documentation/Maemo 5 Developer Guide/Architecture/Core Domain|Core Domain]] contains  bootloader and Calibration Area, Linux kernel, X windowing system (X11), [[OpenGL-ES|OpenGL ES]], and (some) essential user space components (the C library, essential user space tools, and system configuration data and tools) adapted / configured for the Fremantle HW.  
 +
* [[Documentation/Maemo 5 Developer Guide/Architecture/System Software|System Software domain]] is responsible for user modes, device states including start-up/shutdown, display and other inactivity state control, providing robustness services, power management, and battery management.
 +
* [[Documentation/Maemo 5 Developer Guide/Architecture/Connectivity|Connectivity domain]] provides the APIs, user interfaces and underlying user-space and kernel components for Wireless Internet, Wireless local and Home connectivity, implements connection establishment mechanisms and user interfaces to control Internet access points on the device. This includes WLAN, connections over Bluetooth, also UPnP, and Device Management (uses the Funambol OMA DM/DS framework).
 +
* [[Documentation/Maemo 5 Developer Guide/Architecture/RTCOM|RTCom domain]] provides both services, and applications, for realtime Internet communications (Voice Over IP  calls and Instant Messaging) on Maemo platform. It also provides and distributes presence information within the system and is responsible for smooth integration of the externally developed Skype application into the system.
 +
* [[Documentation/Maemo 5 Developer Guide/Architecture/Multimedia Domain|Multimedia Framework domain]] contains the multimedia APIs including GStreamer, ALSA and PulseAudio, and the lower level functionality such as DSP codecs. Multimedia Framework also responsible for policy, audio-routing, and event-sounds.
 +
* '''Location domain''' implements a framework that applications can use to become location aware. Location implements also an API that provides a set of location related utilities like geocoding, reverse geocoding, show on map, select from map, get map data and POI (Point Of Interest) repository. It also includes everything related to GPS and SUPL.
 +
* [[Documentation/Maemo 5 Developer Guide/Architecture/UI Framework|Toolkit domain]] contains the graphical UI libraries to draw content on the device’s screen and used by the applications to create user graphical interfaces.
 +
* '''Desktop domain''' contains Window Manager and Clutter, Home, Status Menu, and their plugins, Control Panel and its applets, Input Methods and I18N, and application services such as Startup.
 +
* [[Documentation/Maemo 5 Developer Guide/Architecture/Data Management|Data Management domain]] consists of application and user data related subsystems. It also includes GConf.
 +
* '''Applications domain''' provides end user applications like Browser, Email, Calendar, Games etc provides public interfaces for 3rd party applications to access them.
 +
* '''Graphics domain''' provides sounds, icons and pre-installed content for the device.
-
'''Core Domain''' contains  bootloader and Calibration Area, Linux kernel, X windowing system (X11), OpenGL ES, and (some) essential user space components (the C library, essential user space tools, and system configuration data and tools) adapted / configured for the Fremantle HW.
+
[[Category:Development]]
-
 
+
[[Category:Documentation]]
-
'''System Software domain''' is responsible for user modes, device states including start-up/shutdown, display and other inactivity state control, providing robustness services, power management, and battery management.
+
[[Category:Fremantle]]
-
 
+
-
'''Connectivity domain''' provides the APIs, user interfaces and underlying user-space and kernel components for Wireless Internet, Wireless local and Home connectivity, implements connection establishment mechanisms and user interfaces to control Internet access points on the device. This includes WLAN, connections over Bluetooth, also UPnP, and Device Management (uses the Funambol OMA DM/DS framework).
+
-
 
+
-
'''RTCom domain''' provides both services, and applications, for realtime Internet communications (Voice Over IP  calls and Instant Messaging) on
+
-
Maemo platform. It also provides and distributes presence information within the system and is responsible for smooth integration of the externally developed Skype application into the system.
+
-
 
+
-
'''Multimedia Framework domain''' contains the multimedia APIs including GStreamer, ALSA and PulseAudio, and the lower level functionality such as DSP codecs. Multimedia Framework also responsible for policy, audio-routing, and event-sounds.
+
-
 
+
-
'''Location domain''' implements a framework that applications can use to become location aware. Location implements also an API that provides a set of location related utilities like geocoding, reverse geocoding, show on map, select from map, get map data and POI (Point Of Interest) repository. It also includes everything related to GPS and SUPL.
+
-
 
+
-
'''Toolkit domain''' contains the graphical UI libraries to draw content on the device’s screen and used by the applications to create user graphical interfaces.
+
-
 
+
-
'''Desktop domain''' contains Window Manager and Clutter, Home, Status Menu, and their plugins, Control Panel and its applets, Input Methods and I18N, and application services such as Startup.
+
-
 
+
-
'''Data Management domain''' consists of application and user data related subsystems. It also includes GConf.
+
-
 
+
-
'''Applications domain''' provides end user applications like Browser, Email, Calendar, Games etc provides public interfaces for 3rd party applications to access them.
+
-
 
+
-
'''Graphics domain''' provides sounds, icons and pre-installed content for the device.
+

Latest revision as of 15:26, 26 November 2010

The following figure gives a logical decomposition view of Maemo 5 software architecture based on the domains delivering software to the Fremantle release. Proprietary components are marked in red.

Block diagram

  • Core Domain contains bootloader and Calibration Area, Linux kernel, X windowing system (X11), OpenGL ES, and (some) essential user space components (the C library, essential user space tools, and system configuration data and tools) adapted / configured for the Fremantle HW.
  • System Software domain is responsible for user modes, device states including start-up/shutdown, display and other inactivity state control, providing robustness services, power management, and battery management.
  • Connectivity domain provides the APIs, user interfaces and underlying user-space and kernel components for Wireless Internet, Wireless local and Home connectivity, implements connection establishment mechanisms and user interfaces to control Internet access points on the device. This includes WLAN, connections over Bluetooth, also UPnP, and Device Management (uses the Funambol OMA DM/DS framework).
  • RTCom domain provides both services, and applications, for realtime Internet communications (Voice Over IP calls and Instant Messaging) on Maemo platform. It also provides and distributes presence information within the system and is responsible for smooth integration of the externally developed Skype application into the system.
  • Multimedia Framework domain contains the multimedia APIs including GStreamer, ALSA and PulseAudio, and the lower level functionality such as DSP codecs. Multimedia Framework also responsible for policy, audio-routing, and event-sounds.
  • Location domain implements a framework that applications can use to become location aware. Location implements also an API that provides a set of location related utilities like geocoding, reverse geocoding, show on map, select from map, get map data and POI (Point Of Interest) repository. It also includes everything related to GPS and SUPL.
  • Toolkit domain contains the graphical UI libraries to draw content on the device’s screen and used by the applications to create user graphical interfaces.
  • Desktop domain contains Window Manager and Clutter, Home, Status Menu, and their plugins, Control Panel and its applets, Input Methods and I18N, and application services such as Startup.
  • Data Management domain consists of application and user data related subsystems. It also includes GConf.
  • Applications domain provides end user applications like Browser, Email, Calendar, Games etc provides public interfaces for 3rd party applications to access them.
  • Graphics domain provides sounds, icons and pre-installed content for the device.