• Title/Summary/Keyword: 시스템 추상화

Search Result 267, Processing Time 0.022 seconds

An Approach to Effective Software Architecture Evaluation in Architecture-Based Software Development (아키텍쳐 기반 소프트웨어 개발을 지원하는 효과적인 소프트웨어 아키텍쳐 평가 방법)

  • Choi, Hee-Seok;Yeom, Keun-Hyuk
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.5
    • /
    • pp.295-310
    • /
    • 2002
  • Software architecture representing a common high-level abstraction of a system can be used as a basis for creating mutual understanding among all stakeholders of the system. In determining a software architecture's fitness with respect to its desired qualities as well as in improving a software architecture, software architecture evaluation is importantly performed. However moat of architecture evaluation methods are not still sufficient in that they do not explicitly consider artifacts discussed during architecture evaluation and their processes are net systematic. As a result, we are hard to follow them. To address these problems, this paper presents the method to evaluate systematically a software architecture with respect to its desired qualities. In this approach, the functional and non-functional requirements are separately handled, and software architecture is represented in the 4+1 view model using UML. Through this initial consideration, the important artifacts such as goals, scope, and target of evaluation are clearly determined. Also, the method provides the well defined process to produce the important evaluation artifacts such as sub-designs, design decisions, rationale, qualities from inputs. In addition, it enables us to determine satisfaction of a architecture with respect its desired qualities or improve a architecture through the structured evaluation results.

A Design-phase Quality Model for Ubiquitous Service Ontology (유비쿼터스 서비스 온톨로지를 위한 설계 품질 모델)

  • Lee, Mee-Yeon;Park, Seung-Soo;Lee, Jung-Won
    • Journal of KIISE:Software and Applications
    • /
    • v.37 no.6
    • /
    • pp.430-445
    • /
    • 2010
  • Effective service description and modeling methodologies are essential for dynamic service composition to provide autonomous services for users in ubiquitous computing environments. In our previous research, we proposed a 'u-Service' as an abstract and structured concept for operations of devices in ubiquitous environments. In addition, we established the mechanism to structure u-Services as an ontology and the description specification to represent attributes of u-Services. However, it did not provide enough methods or standards to analyze and evaluate the effectiveness of the u-Service ontology in the design time. Since existing quality models for software products or computing systems cannot consider characteristics of ubiquitous services, they are not suitable for ubiquitous service ontology. Therefore, in this paper, we propose a quality evaluation model to design and modeling a good ubiquitous service ontology, based on our u-Service ontology building process. We extract modeling goals and evaluation indicators according to characteristics of ubiquitous service ontology, and establish quality metrics to quantify each quality sub-characteristics. The experiment result of the proposed quality evaluation model for u-Service ontologies which are constructed for our previous works shows that we can analyze the design of ubiquitous service ontology from various angles, and indicate recommendations for improvement.

DDS-Based BLE Adaptor for Standard Profile Data Interoperation in Internet of Things (사물인터넷 환경에서 표준 Profile 데이터 상호운용을 위한 DDS 기반 BLE 어댑터)

  • Oh, Jung-Hoon;Back, Moon-Ki;Oh, Gil-Tak;Lee, Kyu-Chul
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.5 no.11
    • /
    • pp.403-410
    • /
    • 2016
  • IoT(Internet of Things) has purpose for providing new kind of service though interaction with everything. With development of IoT, computer model which is based on internet is changed to distributed connection model between heterogeneous things. There is a problem that it is impossible to connect between each other different protocols. To solve this problem, we should abstract each of things of data through using adaptor of middleware structure in order to make consistent data unit. In this paper, we propose BLE(Bluetooth Low Energy) adaptor, which is interaction with things, based on DDS(Data Distribution Service) that is real-time standard middleware. It is possible to data interaction between BLE Devices as well as two-way data interaction with different protocol devices. Also existing BLE Devices and study have a problem that Data exchange without using a standard data format of a profile defined by the Bluetooth SIG. Using the data formats defined independently by a problem that should not exchange data according to the type and manufacturer of the device BLE. The BLE adapter to solve this problem, the classification and analysis of the 12 stand profile was applied to create a profile based on the standard data format. It is possible to get wide interoperability of not affected on the BLE devices type and manufacturer of the device because it is applied a profile that standard data format.

The Analysis of Informatics Gifted Elementary Students' Computational Problem Solving Approaches in Puzzle-Based Learning (퍼즐 기반 학습에서 초등정보영재의 컴퓨팅적 문제 해결 접근법 분석)

  • Lee, Eunkyoung;Choi, JeongWon;Lee, Youngjun
    • Journal of the Korea Society of Computer and Information
    • /
    • v.19 no.1
    • /
    • pp.191-201
    • /
    • 2014
  • The purpose of this study is to propose strategies of puzzle-based learning for Informatics gifted education through analyzing Informatics gifted elementary students' computational problem solving approaches in puzzle-based learning contexts. Six types of educational puzzles, which are constraints, optimization, probability, statistically speaking, pattern recognition, and strategy, were used in teaching 14 Informatics gifted students for 8 sessions. The results of pre and post test and each students' answers were analyzed to identify why students were not able to solve the puzzles. We also analysed what essential computational strategies are needed to solve each type of puzzles, and what students did not know in solving puzzle problems. We identified some problems caused by puzzle representation methods, and various students' intuitions that disturb puzzle solving. Also, we identified essential computational strategies to solve puzzles: backtracking, dynamic programming, abstraction, modeling, and reduction of big problem. However, students had difficulties in applying these strategies to solve their puzzle problems. We proposed the revised puzzle-based learning strategies, which is based on the improved problem representation, just-in-time cognitive feedbacks, and web-based learning system.

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.

Comparison of Deep Learning Frameworks: About Theano, Tensorflow, and Cognitive Toolkit (딥러닝 프레임워크의 비교: 티아노, 텐서플로, CNTK를 중심으로)

  • Chung, Yeojin;Ahn, SungMahn;Yang, Jiheon;Lee, Jaejoon
    • Journal of Intelligence and Information Systems
    • /
    • v.23 no.2
    • /
    • pp.1-17
    • /
    • 2017
  • The deep learning framework is software designed to help develop deep learning models. Some of its important functions include "automatic differentiation" and "utilization of GPU". The list of popular deep learning framework includes Caffe (BVLC) and Theano (University of Montreal). And recently, Microsoft's deep learning framework, Microsoft Cognitive Toolkit, was released as open-source license, following Google's Tensorflow a year earlier. The early deep learning frameworks have been developed mainly for research at universities. Beginning with the inception of Tensorflow, however, it seems that companies such as Microsoft and Facebook have started to join the competition of framework development. Given the trend, Google and other companies are expected to continue investing in the deep learning framework to bring forward the initiative in the artificial intelligence business. From this point of view, we think it is a good time to compare some of deep learning frameworks. So we compare three deep learning frameworks which can be used as a Python library. Those are Google's Tensorflow, Microsoft's CNTK, and Theano which is sort of a predecessor of the preceding two. The most common and important function of deep learning frameworks is the ability to perform automatic differentiation. Basically all the mathematical expressions of deep learning models can be represented as computational graphs, which consist of nodes and edges. Partial derivatives on each edge of a computational graph can then be obtained. With the partial derivatives, we can let software compute differentiation of any node with respect to any variable by utilizing chain rule of Calculus. First of all, the convenience of coding is in the order of CNTK, Tensorflow, and Theano. The criterion is simply based on the lengths of the codes and the learning curve and the ease of coding are not the main concern. According to the criteria, Theano was the most difficult to implement with, and CNTK and Tensorflow were somewhat easier. With Tensorflow, we need to define weight variables and biases explicitly. The reason that CNTK and Tensorflow are easier to implement with is that those frameworks provide us with more abstraction than Theano. We, however, need to mention that low-level coding is not always bad. It gives us flexibility of coding. With the low-level coding such as in Theano, we can implement and test any new deep learning models or any new search methods that we can think of. The assessment of the execution speed of each framework is that there is not meaningful difference. According to the experiment, execution speeds of Theano and Tensorflow are very similar, although the experiment was limited to a CNN model. In the case of CNTK, the experimental environment was not maintained as the same. The code written in CNTK has to be run in PC environment without GPU where codes execute as much as 50 times slower than with GPU. But we concluded that the difference of execution speed was within the range of variation caused by the different hardware setup. In this study, we compared three types of deep learning framework: Theano, Tensorflow, and CNTK. According to Wikipedia, there are 12 available deep learning frameworks. And 15 different attributes differentiate each framework. Some of the important attributes would include interface language (Python, C ++, Java, etc.) and the availability of libraries on various deep learning models such as CNN, RNN, DBN, and etc. And if a user implements a large scale deep learning model, it will also be important to support multiple GPU or multiple servers. Also, if you are learning the deep learning model, it would also be important if there are enough examples and references.

Development Process for User Needs-based Chatbot: Focusing on Design Thinking Methodology (사용자 니즈 기반의 챗봇 개발 프로세스: 디자인 사고방법론을 중심으로)

  • Kim, Museong;Seo, Bong-Goon;Park, Do-Hyung
    • Journal of Intelligence and Information Systems
    • /
    • v.25 no.3
    • /
    • pp.221-238
    • /
    • 2019
  • Recently, companies and public institutions have been actively introducing chatbot services in the field of customer counseling and response. The introduction of the chatbot service not only brings labor cost savings to companies and organizations, but also enables rapid communication with customers. Advances in data analytics and artificial intelligence are driving the growth of these chatbot services. The current chatbot can understand users' questions and offer the most appropriate answers to questions through machine learning and deep learning. The advancement of chatbot core technologies such as NLP, NLU, and NLG has made it possible to understand words, understand paragraphs, understand meanings, and understand emotions. For this reason, the value of chatbots continues to rise. However, technology-oriented chatbots can be inconsistent with what users want inherently, so chatbots need to be addressed in the area of the user experience, not just in the area of technology. The Fourth Industrial Revolution represents the importance of the User Experience as well as the advancement of artificial intelligence, big data, cloud, and IoT technologies. The development of IT technology and the importance of user experience have provided people with a variety of environments and changed lifestyles. This means that experiences in interactions with people, services(products) and the environment become very important. Therefore, it is time to develop a user needs-based services(products) that can provide new experiences and values to people. This study proposes a chatbot development process based on user needs by applying the design thinking approach, a representative methodology in the field of user experience, to chatbot development. The process proposed in this study consists of four steps. The first step is 'setting up knowledge domain' to set up the chatbot's expertise. Accumulating the information corresponding to the configured domain and deriving the insight is the second step, 'Knowledge accumulation and Insight identification'. The third step is 'Opportunity Development and Prototyping'. It is going to start full-scale development at this stage. Finally, the 'User Feedback' step is to receive feedback from users on the developed prototype. This creates a "user needs-based service (product)" that meets the process's objectives. Beginning with the fact gathering through user observation, Perform the process of abstraction to derive insights and explore opportunities. Next, it is expected to develop a chatbot that meets the user's needs through the process of materializing to structure the desired information and providing the function that fits the user's mental model. In this study, we present the actual construction examples for the domestic cosmetics market to confirm the effectiveness of the proposed process. The reason why it chose the domestic cosmetics market as its case is because it shows strong characteristics of users' experiences, so it can quickly understand responses from users. This study has a theoretical implication in that it proposed a new chatbot development process by incorporating the design thinking methodology into the chatbot development process. This research is different from the existing chatbot development research in that it focuses on user experience, not technology. It also has practical implications in that companies or institutions propose realistic methods that can be applied immediately. In particular, the process proposed in this study can be accessed and utilized by anyone, since 'user needs-based chatbots' can be developed even if they are not experts. This study suggests that further studies are needed because only one field of study was conducted. In addition to the cosmetics market, additional research should be conducted in various fields in which the user experience appears, such as the smart phone and the automotive market. Through this, it will be able to be reborn as a general process necessary for 'development of chatbots centered on user experience, not technology centered'.