Supporting Application Framework Selection Based on Labeled Transition Systems

Teruyoshi ZENMYO
Takashi KOBAYASHI
Motoshi SAEKI

Publication
IEICE TRANSACTIONS on Information and Systems   Vol.E89-D    No.4    pp.1378-1389
Publication Date: 2006/04/01
Online ISSN: 1745-1361
DOI: 10.1093/ietisy/e89-d.4.1378
Print ISSN: 0916-8532
Type of Manuscript: Special Section PAPER (Special Section on Knowledge-Based Software Engineering)
Category: 
Keyword: 
application framework,  labeled transition system,  

Full Text: PDF(872.6KB)>>
Buy this Article



Summary: 
Framework technology is one of the promising approaches to reuse effectively software and its key issues are 1) to select the suitable frameworks for the software requirements specification, and 2) to fill the suitable hot spots with application-specific codes (customization). This paper proposes a new technique for automated support of the above issues by using labeled transition systems (LTSs) together with metrics technique. We model the behavior of the frameworks and the system behavior specified in the requirements specification by using two LTSs respectively. By establishing bisimilar relationship between the two LTSs, we check whether the behavior of the framework can match to the requirements and explore how to fill its hot spots. This process is done by means of constructing a graph to extract the bisimilar relationships, and each path of the graph denotes one of the implementations of the requirements by the framework. We attach some measures to the LTS of the framework, such as the number of the hot spots to be filled and the number of the parameters to be set up when filling the corresponding hot spot. These measures are used to estimate developer's efforts in filling the hot spots for each implementation, i.e. for each path of the graph. The result of estimating the efforts guides the developers to select the implementation, and the structure of the application-specific codes to be filled in can be automatically generated from the selected implementation. Furthermore we discuss case studies in the area of Web application, where Struts and Turbine can be used.


open access publishing via