Skip to Main Content
Adaptable software architectures (SA) have been suggested as a viable solution for the design of distributed applications that operate in a mobile computing environment to cope with the high heterogeneity and variability of this environment. Mobile code techniques can be used to implement this kind of SA since they allow us to dynamically modify the load of the hosting nodes and the internode traffic to adapt to the resources available in the nodes and to the condition of the (often wireless) network link. However, moving code among nodes has a cost (e.g., in terms of network traffic and consumed energy for mobile nodes), so designing an adaptable SA based on mobile code techniques requires a careful analysis to determine its effectiveness from the early design stages. In this respect, our main contribution consists of a methodology, called ASAP (adaptable software architectures performance), to automatically derive, starting from a design model of a mobility-based SA, a Markov model whose solution provides insights about the most effective adaptation strategy based on code mobility in a given execution environment. We assume that the SA model is expressed using the Unified Modeling Language (UML) because of its widespread use in software design, also suggesting some extension to this formalism to better express the "mobility structure" of the application, i.e., which are the mobile components, and the possible targets of their movement.