Semantic view for libraries
We shell design runtime and standard libraries in an extendable, scalable way; we should be able to add/modify them to match requirement of a concrete device; they shell be designed in uniform way, so that API available on small devices will be present on more powerful devices.
This will allow us to
- adopt a device to real needs, maximizing efficiency while keeping small requirements to hardware; an example can be a mobile phone, used by different customers it may need to have more runtime support and libraries for usage as PDA (personal digital assistant), a game platform, a device for network communications; a user may prefer more multimedia support (for different codecs of images and sound) or as a device for secure remote access (with stronger libraries for security encoders and decoders, certificates and secure network connections) and so on.
- to write programs in a scalable way, so they will run on a variety of devices, where some convenient, but non-critical functionality is absent.
- to write programs compatible with different APIs, through an abstract library views, which can be mapped onto a concrete library; for instance, to write a 3D program, which will be mapped onto OpenGL or DirectX, to write a program which will have WEB or native GUI interface running on a current computer or on a remote terminal and so on.