SON KULLANICI GELİŞTİRME İÇİN OTOMATİK KOD ÜRETİM ARACININ TASARIMI VE GERÇEKLENMESİ
Son kullanıcı geliştirme yaklaşımları; yazılım mühendisi olmayan oluşturabileceği, değiştirebileceği ve uyarlayabileceği teknolojiler ve yöntemlere odaklanmaktadır. Bu amaçla; birleştirme teknolojileri, örnek ile programlama, görsel programlama, model tabanlı yaklaşımlar, servis yönelimli mimariler ve otomatik kod üretimi kullanılabilmektedir. Bu çalışmada, görsel programlama ile birlikte otomatik kod üretimi tercih edilmiş ve bir son kullanıcı geliştirme aracı gerçeklenmiştir. Seçilen uygulama alanı olan rezervasyon sistemleri için otomatik kod üretimi sağlanmıştır. Bu sürecin temel faydası; geliştirme zamanın kısaltılması, son kullanıcıların geliştirmesini yapabilmesi ve sistem tasarımı ile üretilen uygulama arasındaki farklılıkların en aza indirgenerek, tutarlılığın sağlanmasıdır. Farklı rezervasyon sistemleri için kullanılması amaçlanan bu sistem, kullanıcıların iş modellerini görsel ara yüzler ile tanımlamalarına ve bu tasarımdan web tabanlı uygulamanın çalışması için gerekli tüm dosyaların üretilmesine imkan tanımaktadır. Son kullanıcılarda web teknolojilerine ait herhangi bir geliştirme tecrübesi aranmayıp, uygulamanın çalışması için gerekli ara yüzler, stil ve tasarım dosyaları, veritabanının oluşturulması otomatik kod üretimi ile gerçekleştirilmiştir. Bu çalışmada; son kullanıcı geliştirme için görsel programlama ve otomatik kod üretimi tekniklerinin, alana özel uygulanması gerektiği, jenerik yaklaşımların etkin olmayacağı sonucuna varılmıştır
DESING AND IMPLEMENTATION OF AN AUTOMATIC CODE GENERATION TOOL FOR END‐USER DEVELOPMENT
End user development (EUD) approaches focus on technologies and methods, which can help end users who are not software engineers, to create, change, and adapt their own software artifacts. For this purpose, composition technologies, instance-based programming, visual programming, model based approaches, service oriented architectures, and automatic code generation, Reservation system, Software tool, Visual programming generation techniques can be used. In this study, visual programming in conjunction with automatic code generation was opted and an end-user development tool was implemented. As the case study, automatic code generation was performed for reservation systems. The main aims of this process are to shorten the development time, let the end users develop their own tools, and create the consistency between system design and generated application. This system, which is aimed to be used in different reservation applications, lets users define their business models with graphical objects, and generate all the necessary files from this design for a web-based application. It is not required by the end-users to know web technologies and in addition to the database, interfaces, style and design files are generated automatically. In this study, it is shown that visual programming in conjunction with automatic code generation must be applied for the specific domain instead of a generic purpose implementation and this is a more efficient approach from enduser development perspective.
___
- [1] Paternò, F., (2013). “End user
development: Survey of an
emerging field for empowering
people”. ISRN Software
Engineering, 2013.
- [2] Togay, C., Akkus, V., Dogru, A.H,
(2014). “Son Kullanıcı Yönelimli
Yazılım Geliştirme Aracı”, UYMS
2014, Kuzey Kıbrıs Türk
Cunhuriyeti, Eylül 08-10, 2014.
- [3] Dogru, A.H., Togay, C., (2012). “Son
Kullanıcı Geliştirme Ortamı için
Aksiyomatik Tasarım Esinli
Mimari“, Ulusal Yazılım
Mühendisliği Kongresi 2012
(UYMK 2012), İzmir, Turkey, Aralık
7-8, 2012.
- [4] Long, H., (2012). “End user
development of digital collection
mash-ups: A survey to assess the
suitability of current
infrastructure”. OCLC Systems &
Services: International digital
library perspectives, 28(4), pp.199-
207.
- [5] Herrington, J. (2003). Code
generation in action. Manning
Publications Co..
- [6] Vavilina, E., & Gaigals, G. (2015,
November). Improved LabVIEW
code generation. In Information,
Electronic and Electrical
Engineering (AIEEE), 2015 IEEE
3rd Workshop on Advances in (pp.
1-4). IEEE.
- [7] Li, S., Li, D., Li, F., & Zhou, N. (2015).
CPSiCGF: A code generation
framework for CPS integration
modeling. Microprocessors and
Microsystems, 39(8), 1234-1244.
[8] Mehmood, A., & Jawawi, D. N.
(2013). Aspect-oriented modeldriven
code generation: A
systematic mapping study.
Information and Software
Technology,55(2), 395-411.
- [9] Tolvanen, J. P., Djukić, V., &
Popovic, A. (2015). Metamodeling
for Medical Devices: Code
Generation, Model-debugging and
Run-time Synchronization
Procedia Computer Science, 63,
539-544.
- [10] Solís-Martínez, J., Espada, J. P.,
García-Menéndez, N., G-Bustelo, B.
C. P., & Lovelle, J. M. C. (2015).
VGPM: Using business process
modeling for videogame modeling
and code generation in multiple
platforms. Computer Standards &
Interfaces, 42, 42-52.
- [11] Kim, B., Phan, L. T., Sokolsky, O., &
Lee, I. (2013, September).
Platform-dependent code
generation for embedded real-time
software. In Compilers,
Architecture and Synthesis for
Embedded Systems (CASES), 2013
International Conference on (pp. 1-
10). IEEE.
- [12] Klöckner, A., Pinto, N., Lee, Y.,
Catanzaro, B., Ivanov, P., & Fasih, A.
(2012). PyCUDA and PyOpenCL: A
scripting-based approach to GPU
run-time code generation. Parallel
Computing, 38(3), 157-174.
- [13] Graichen, C., & D'Amato, F. (2011,
May). Adding code generation to
develop a simulation platform. In
Systems, Applications and
Technology Conference (LISAT),
2011 IEEE Long Island (pp. 1-6).
IEEE.