• Title/Summary/Keyword: software product line architecture

Search Result 44, Processing Time 0.024 seconds

Modeling FORM Architectures Based on UML 2.0 Profiling (UML 2.0 프로파일링을 이용한 FORM 아키텍처 모델링)

  • Yang, Kyung-Mo;Jo, Yoon-Ho;Kang, Kyo-Chul
    • Journal of KIISE:Software and Applications
    • /
    • v.36 no.6
    • /
    • pp.431-442
    • /
    • 2009
  • The Software Product Line (SPL) engineering is one of the most promising software development paradigms. With Feature-Oriented Reuse Method (FORM), reusable and flexible components can be built to aid the delivery of various software products such as mobile phone and digital TV applications based on commonalities and variabilities identified during Feature modeling. Model Driven Architecture (MDA) is also an emerging technology which supports developing software products to work on different platforms with platform independent models (PIM). Combining advantages of these two approaches is helpful to build a group of software products which share common Features while working on various platforms. As first step to combine FORM with MDA, we extend UML2.0 with profiles by which FORM architectures and parameterized Statecharts can be modeled. Secondly, we provide rules to examine whether Features are allocated at positions of elements of Statecharts consistently between a Feature model and a parameterized Statechart. Some rules are designed to check the consistency between FORM architectures and parameterized Statecharts. A case study on an elevator control system is provided to demonstrate the feasibility of our modeling approach and consistency checking rules.

A Systematic Process for Designing Core Asset in Product Line Engineering (프로덕트라인 공학에서의 체계적인 핵심 자산 설계 프로세스)

  • La, Hyun-Jung;Kim, Soo-Dong
    • Journal of KIISE:Software and Applications
    • /
    • v.33 no.10
    • /
    • pp.896-914
    • /
    • 2006
  • Product line engineering (PLE) is one of the most recent and emerging reuse approaches in software engineering. Core asset, which is a reusable unit of PLE, is shared by several members in a product line (PL). So, developing a well-defined core asset is a prerequisite to increase productivity and time-to-market. Existing PLE methodologies emphasize the importance of core asset but mainly focus on analyzing core asset. And, several processes for designing core asset do not fully cover all elements of core asset which is from product line architecture (PLA) to decision model and need to augment systematic process, detailed instructions, and templates of artifacts. These problems result in difficulty with designing core asset and applying PLE. In this paper, we present an overall process and templates of artifacts to design core assets. And, we apply proposed process to a case study in order to show its applicability. With the proposed process, detailed instructions, and templates of artifacts, we believe that we can more systematically and more easily design high-quality core assets and we fully cover product line architecture, component, and decision model when designing a core asset.

A Design of Effective Architecture for Constructing Services Systems (서비스 시스템 구축을 위한 효율적 아키텍처 설계)

  • La, Hyun-Jung;Kim, Sung-Ahn;Kim, Soo-Dong
    • Journal of KIISE:Software and Applications
    • /
    • v.35 no.3
    • /
    • pp.137-148
    • /
    • 2008
  • Services system which has been emerging as a new way of application development utilizes services as fundamental units for developing a system. Services system can offer services within web environment as well as the ubiquitous environment where mobile devices are connected to wired or wireless network. In order to provide the functionality that meets users' requirements, the most appropriate service should be selected among candidate services by taking requests and context information into account. Therefore, it is important that the service system should provide services to users by dynamically adapting to users' requirements and context information. Since different users request same functionality with different context information, one service can be differently offered to users so that variability can happen to the service systems. Most researches on context-aware systems have a tendency to solve dynamic adaptation by using more or less ad hoc manner In this paper, we consider various types of services which are performed according to context information as variability and propose adaptable architecture by applying concepts of product line architecture in order to deal with variabilities systematically.

A Core Asset Instantiation Process using Variability Type in Product line Engineering (가변성 타입을 이용한 프로덕트 라인 핵심자산 특화 프로세스)

  • Kang, Hyun-Koo;Chang, Soo-Ho;Kim, Soo-Dong
    • Journal of KIISE:Software and Applications
    • /
    • v.33 no.2
    • /
    • pp.154-166
    • /
    • 2006
  • Product Line Engineering(PLE) is a software reuse paradigm that core assets are defined using common features in a domain and are instantiated in various applications. To apply the core asset effectively, variants which satisfy application requirements are extracted and the core asset should be also instantiated based on the variants. For the work, variability on architecture and components should be extracted exactly and an instantiation process and guidelines should be defined based on this variability In this paper, we define variability types depending on core assets elements and describe artifact templates related to tile variability. We also propose a systematic process which uses defined core assets including variability and verify practicability of the proposed process and variability expression through doing ease study. If utilizing with the proposed process in PLE, it can be feasible to model concrete core asset and variability and to utilize practical application engineering.

A Reuse Model Utilizing Diverse Aspects of Components and Services (컴포넌트의 다면성과 서비스를 기반으로 하는 재사용 모델)

  • Park, Soo-Jin;Park, Soo-Yong
    • Journal of KIISE:Software and Applications
    • /
    • v.34 no.4
    • /
    • pp.303-316
    • /
    • 2007
  • Even though many approaches for reuse have been introduced, software engineers are still hesitating to reuse existing software components. Among various reasons for the phenomena, the most significant one is that existing approaches failed to give substantial benefit for the reduction of developers' effort in reusing software assets. To solve this problem, we introduce a custom reuse model utilizing diverse aspects of components specified by RAS and services oriented architecture. We also carried out a case study to demonstrate its feasibility and evaluated it by comparing it to an existing code-based software reuse process. The proposed reuse model helps in the reduction of effort in reusing existing components by decreasing the time for searching and understanding them. Compared to other approaches such as product line engineering, our approach for software reuse using MPC does not require much initial work for implementing the reuse model in different projects. It is of interest to software engineers who are worried about heavy investment, which can cause the delay in their usual development work. Furthermore, the proposed reuse model is not mutually exclusive with other approaches for software reuse such as CBSD or product line engineering. It can accelerate the benefits gained from them.

A 2-Dimensional Approach for Analyzing Variability of Domain Core Assets (도메인 핵심자산의 가변성 분석을 위한 2차원적 접근방법)

  • Moon Mi-Kyeong;Chae Heung-Seok;Yeom Keun-Hyuk
    • Journal of KIISE:Software and Applications
    • /
    • v.33 no.6
    • /
    • pp.550-563
    • /
    • 2006
  • Software product line engineering is a method that prepares for the future reuse and supports to seamless reuse in application development process. Commonality and variability play central roles in all product line development processes. Reusable assets will become core assets by explicitly representing C&V. Indeed, the variabilities that art identified at each phase of core assets development have different levels of abstraction. In the past, these variabilities have been handled in an implicit manner and without distinguishing the characteristics of each core assets. In addition, previous approaches have depended on the experience and intuition of a domain expert to recognize commonality and variability. In this paper, we suggest a 2-dimensional analyzing method that analyzes the variabilities of core assets in software product line. In horizontal analysis process, the variation types are analyzed in requirements, architecture, and component that are produced at each phase of development process. In vertical analysis process, variations are analyzed in different abstract levels, in which the region of commonality is identified and the variation points are refined. By this method, the traceability of variations between core assets will be possible and core assets can be reused seamlessly.

Variability Analysis Approach for Business Process Family Models (비즈니스 프로세스 패밀리 모델을 위한 가변성 분석 방법)

  • Moon, Mi-Kyeong;Yeom, Keun-Hyuk
    • The KIPS Transactions:PartD
    • /
    • v.15D no.5
    • /
    • pp.621-628
    • /
    • 2008
  • Many of today's businesses need IT system's flexibility for on-demand business which can be rapidly adapted to environment changes. Service oriented architecture (SOA) provides the infrastructure which makes business flexibility possible under the on-demand operating environment. Therefore, to satisfy these requirements, new approach for assuring business flexibility and enhancing reuse is needed. In this paper, we propose an approach for developing a business process family model (BPFM) in which the variabilities in business process family can be explicitly represented by using the variability analysis method of software product line. In addition, we describe the supporting tool for this approach. It can model the BPFM and generate automatically BPMs through decision and pruning process from BPFM. By using our approach, the business and its IT system can correspond to business environment changes rapidly and efficiently.

Component Code Generation Using Feature Diagram and XML/XSLT (특성 다이어그램과 XML/XSLT 기술을 이용한 컴포넌트 코드 자동 생성)

  • 최승훈
    • Journal of Internet Computing and Services
    • /
    • v.3 no.4
    • /
    • pp.83-94
    • /
    • 2002
  • Recently for software development productivity a lot of researches in the field of software engineering hove focuses on the component-based software product lines which allows the reuse of forger-granularity software components Its purpose is to develop the specific software application of quality more rapidly by instantiating and assembling the components populated in software product line assets The essential part to build the component-based software product lines is the quality of components, and one of the most important features determining the quality of components is 'reconfigurability' Component reconfigurability means the extent to which the reusers can change the functions and architecture of the component according to their context and environment. This paper proposes the component code generation technique which provides the reconfigurability at the time of code generation using The feature diagram and XML/XSLT technologies The approach of this paper allows the component reusers to get automatically their own component source code by providing only the values of variabilities represented in the feature diagram of the component family. The real world example, the code generation system for o list container family, shows the applicability of the feature model and XML related technologies in the area of the generative programming. Our approach should be basis to build the component based software product lines and extensible to support the larger graularity components.

  • PDF

Practical Connector Patterns for Designing Component Frameworks (컴포넌트 프레임워크 설계를 위한 실용적인 커넥터 패턴)

  • 민현기;김수동
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.1
    • /
    • pp.43-53
    • /
    • 2004
  • Component-based development(CBD) has acquired a substantial acceptance in both academia and industry as an effective inter-organizational reuse technology. A component framework in product line engineering(PLE) which consists of related components, connectors and their semantics has a greater potential for reusability than components. In frameworks, components are glued with association, dependency and connections. Problems occur like affecting the implementation code of components when they are glued and replaced because the association and dependency relationships between COTS components which are acquired for application development do not match exactly. Especially, a connector may not only connect related components, but also mate partially-matched COTS components fit together. However, little has been studied to date about connectors that can be used practically. In this paper, we present a meta-model for connectors and show how a connector can be designed and implemented in practice. We propose five main patterns of connectors. Proposed major patterns Provide design guidelines for practical and efficient connector configuration based on component framework. And also, applying techniques and applied case studies of the major patterns show greatly increased applicability and reusability of the component without component modification.

A Flexbile and Extensible CBD Application Framework and Performance Analysis (유연하고 확장 가능한 CBD 어플리케이션 프레임워크와 성능분석)

  • Lee, Yong-Hwan
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.13 no.1
    • /
    • pp.46-58
    • /
    • 2007
  • Current many software development projects gradually develop large volume of complex and changeable system. Architecture driven methodology is used for developing softwares like CBD (Component Based Development) or PLE (Product Line Engineering). To improve the development and maintainability in such an environment, the first of all needs the flexible and extensible architecture. This paper suggests the CBD application framework that has the flexbile and extensible architecture for improving development productivity and maintainability. In this paper, we also show basic performances of our suggested framework, comparing to a well-known web application framework, Struts.