Java Card yazılımlarının otomatik üretilmesi için bir yöntem
A methodology for the automatic generation of Java Card software
Yazar: MİRAY TOSUN
Danışman: DOÇ. DR. GEYLANİ KARDAŞ
Ege Üniversitesi / Fen Bilimleri Enstitüsü / Uluslararası Bilgisayar Ana Bilim Dalı / Bilgi Teknolojileri Bilim Dalı
Derece: Yüksek Lisans, 2015
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bilgisayar yazılım dilleri = Computer software languages ; Bilgisayar yazılımları = Computer softwares

Özet:
Java Card platformu ve beraberinde gelen uygulama programlama arayüzü akıllı kart uygulamalarının geniş kullanıma sahip Java programlama dili ile nesne yönelimli olarak geliştirilmesine imkan vermektedir. Ancak işlemci ve bellek yönünden oldukça kısıtlı olan bu kartlar için sadece Java dilinin bir alt kümesi kullanılabilmektedir ve geliştiriciler bilgisayar ve akıllı kart arasındaki paket alışverişi için alt seviye bir protokolün detay ve kısıtları ile uğraşmak durumundadırlar. Bu tez çalışması kapsamında Java Card uygulamalarının geliştirilmesinde görülen bu zorlukları gidermek amacıyla kart üzeri uygulamaların model güdümlü geliştirilmesine imkan veren DSL4JavaCard isimli bir alana özgü dil tüm bileşenleri ile birlikte geliştirilmiştir. Dilin soyut sözdiziminin dayandığı üstmodel ve modelleme aşamasında bir takım kısıtların kontrol edilmesini sağlayan somut sözdizimi tanımlandıktan sonra DSL4JavaCard modellerinden Java Card uygulama kodları otomatik olarak elde edilebilmektedir. Ayrıca önerilen dilin durum çalışması üzerinden kullanımının örneklendirilmesi ve değerlendirmesi yine bu tez içerisinde yer almaktadır. Değerlendirmeler sonucunda DSL4JavaCard'ın ilgili literatürde yer alan önceki çalışmalardan farklı olarak özellikle Java Card güvenlik bileşenlerinin de model güdümlü geliştirilebilmesine imkan verdiği ve işletimsel semantiğinin temel Java Card bileşenlerinin tamamının, kullanıcı tanımlı ve iş uygulamasına özel öğelerin ise önemli bir kısmının otomatik üretilmesini sağladığı görülmüştür.

Abstract:
Java Card platform enables the object-oriented design and implementation of smart card applications. However, only a subset of Java programming language can be used due to limited processing and storage capabilities of these devices. Further, developers are forced to deal with the constraints and details of a low-level communication protocol for the packet transmission between smart cards and host computers. In order to eliminate those difficulties of Java Card software development and support the model-driven development of on-card applications, a domain-specific language, called DSL4JavaCard has been developed in this thesis study. The definition of both a metamodel for the language's abstract syntax and a concrete syntax for checking some contraints during smart card software modelling in the thesis paves the way of automatic generation of Java Card application codes from DSL4JavaCard instance models. In addition, case study-based exemplification of the language usage and evaluation are also provided in the thesis. Achieved results show that DSL4JavaCard differentiates from the previous related work specifically by enabling the model-driven development of Java Card security components. Moreover, it is experienced that operational semantics of the language succeeds in automatic generation of all fundamental Java Card components required in a smart card application while providing the automatic generation of most of the user-defined components and code blocks specific to the bussiness domain of the smart card application.