Learn More
Design patterns describe good solutions to common and recurring problems in software design. They have been widely applied in many software systems in industry. However, pattern-related information is typically not available in large system implementations. Recovering these design pattern instances in software systems can help not only to understand the(More)
Composing existing web services for enterprise applications may enable higher level of reuse. However the composition processes are mostly static and lack of support for runtime redesign. In this paper, we describe our approach to the extension of the OWL-S ontology framework for dynamic web service composition. We raise the level of abstraction and propose(More)
Composing existing web services for enterprise applications may enable higher level of reuse. However the composition processes are mostly static and lack of support for runtime redesign. In this paper, we describe our approach to the extension of the OWL-S ontology framework for dynamic web service composition. We raise the level of abstraction and propose(More)
One of the main goals of design patterns is to design for change. Many design patterns leave some room for future changes and evolutions. The application of design patterns leads to adaptable software since the design pattern instances could be changed with minimal impact on other parts of the system. Such changes, called the evolution of a design pattern(More)
Due to constant changes of business requirements and applications, dynamical reconfiguration of service composition becomes an important and challenging task. Web service composition may save time and expense in software development. In this paper, we introduce the abstract service hierarchy in the OWL-S Ontology Framework for dynamic web service(More)
In this paper, a new kind of hierarchical tube with a negative Poisson's ratio (NPR) is proposed. The first level tube is constructed by rolling up an auxetic hexagonal honeycomb. Then, the second level tube is produced by substituting the arm of the auxetic sheet with the first level tube and rolling it up. The Nth ( ) level tube can be built recursively.(More)
Design for change is one of the important themes of design patterns. Each design pattern normally embeds some specific ways for future changes. Currently, such evolution information is typically documented in each design pattern implicitly. In this paper, we classify design pattern evolutions into two levels: the primitive-level and pattern-level(More)
Recovering design patterns applied in a system can help refactoring the system. Machine learning algorithms have been successfully applied in mining data patterns. However, one of the main obstacles of applying them for design pattern detection is the difficulty of collecting training examples. Unlike other applications, a design pattern instance typically(More)