Software productivity for embedded systems is greatly limited by the fragmentation of platforms and associated development tools. Platform virtualization environments, like Java and Microsoft .NET, help alleviate the problem, but they are limited to host functionalities running on the system microcontroller. Due to the ever increasing demand for processing power, it is desirable to extend their benefits to the rest of the system. We present an experimental framework based on GCC that validates the choice of CLI as a suitable processor-independent deployment format. In particular, we illustrate our GCC port to CLI and we evaluate the generated bytecode in terms of code size and performance. We inject it back into GCC through a CLI front-end that we also illustrate, and we complete the compilation down to native code. We show that using CLI does not degrade performance. Compared to other CLI solutions, we offer a full development flow for the C language, generating a subset of pure CLI that does not require any virtual machine support other than a JIT compiler. It is therefore well suited for deeply embedded media processors running high performance media applications.
Byte-code based languages are slowly becoming adopted in embedded domains because of improved security and portability. Another potential reason for their adoption is the reputation for smaller code size than native. This is critical in contexts in which a small memory footprint is crucial to reduce production costs. This paper compares the code size of applications compiled for .NET framework with the same natively compiled for various processors. The paper shows that the assumption of an impressive code size reduction is not reachable and it suggests that the adoption of such languages in embedded contexts be justified by additional arguments. The paper also studies the reasons for this and it compares with the compression ratios achievable for various applications through alternative techniques.
Cloud computing is becoming mainstream in software development, with many organizations now considering migrating their applications to the cloud. However, the task of deploying applications in infrastructure-as-a-service (IaaS) clouds is generally daunting due to a number of manual steps necessary to configure all application components as a set of virtual machine images. This work presents a tool, called TREXCLOUD, which greatly simplifies the task of deploying fully functional Web applications in IaaS clouds. With TREXCLOUD, users can easily select a set of files that contain the application components (e.g., .war files, database backup files, context files), which are then used by the tool to automatically deploy and configure the whole application stack in a supported IaaS cloud provider. An empirical study, in which nine users were asked to deploy two different Java web applications in the Amazon cloud using three different deployment tools, shows how TREXCLOUD enables a significant reduction in deployment effort (over 90% in the best case) when compared to existing state-of-the-practice approaches.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.