• Tidak ada hasil yang ditemukan

Usulan Identifikasi Error PadaDisain Arsitektur Piranti Lunak Massal

N/A
N/A
Protected

Academic year: 2018

Membagikan "Usulan Identifikasi Error PadaDisain Arsitektur Piranti Lunak Massal"

Copied!
6
0
0

Teks penuh

(1)

USULAN IDENTIFIKASI ERROR PADA DISAIN ARSITEKTUR PIRANTI

LUNAK MASSAL

I Made Murwantara

Jurusan Teknik Informatika Fakultas Ilmu Komputer Universitas Pelita Harapan E-mail: made.murwantara@uph.edu

Abstrak

Disain arsitektur piranti lunak massal (Software Product Line Architecture) melibatkan banyak artifact produk piranti lunak yang telah berhasil diimplementasikan. Proses disain pada arsitektur piranti lunak massal adalah melakukan konfigurasi dari seluruh artifact yang ada dengan memilih elemen yang berbeda (variability) dan menggunakan ulang (reuse) elemen yang sama, sehingga diperoleh produk baru. Permasalahan utama pada proses disain ini melibatkan banyak komponen piranti lunak, dan juga terjadi ketergantungan antar komponen piranti lunak. Proses pemilihan komponen varian yang akan dilibatkan dalam suatu konfigurasi piranti lunak massal memerlukan abstraksi dan property yang lengkap. Kurangnya informasi ini menyebabkan terjadi kesalahan disain. Tulisan ini mengusulkan pendekatan dengan menggunakan hypergraph sebagai visualisasi dependensi antar komponen, diverifikasi dengan menggunakan SAT/SMT sehingga dapat diketahui bagian dari arsitektur yang tidak konsisten dan kurang sesuai, kemudian diakhiri dengan transformasi ke dalam Component Model. Pendekatan ini diujicoba pada suatu produk piranti lunak massal untuk mengetahui seberapa jauh kemungkinan penggunaan pendekatan yang diusulkan.

Kata kunci: Arsitektur Piranti Lunak Massal, SAT/SMT, Disain, Penggunaan Ulang

Pendahuluan

Pengembangan Piranti lunak massal (Software Product Line Engineering (SPLE)) dibangun dengan sumber daya produk piranti lunak yang telah berhasil diterapkan atau diimplementasikan, dengan melakukan penggunaan ulang (reuse) seluruh elemen produk termasuk dokumentasi requirement, dimana produk yang dilibatkan pada pengembangan ini harus berada dalam domain yang sama (misal: Pendidikan, Pemasaran); Northrop 2002. SPLE dibagi menjadi dua bagian besar yaitu: Pertama, Domain Engineering yang merupakan abstraksi dari seluruh

artifact piranti lunak, dan kedua Application Engineering yang merupakan turunan pada bagian pertama dan lebih mengutamakan pendekatan arsitektur sebagai pijakan utama. Dimana, komponen piranti lunak dalam arsitektur merupakan bagian terkecil atau terendah (granularity) dalam pengembangan SPLE sebelum dikembangkan menjadi produk piranti lunak spesifik. SPLE telah dikembangkan dalam dua dasawarsa terakhir dalam bidang telekomunikasi; Kang 1998, Otomotif; Tischer 2007, dan eLearning; Murwantara 2011

Arsitektur piranti lunak merupakan peta abstrak dari suatu sistem, arsitektur piranti lunak juga menggambarkan komponen secara garis besar, dimana disain arsitektur dibuat untuk memenuhi kebutuhan dari sistem. Arsitektur piranti lunak merupakan turunan dari Feature Model yang berupaya menggambarkan fitur didalam produk piranti lunak. Fitur didalam piranti lunak massal, secara umum dibagi menjadi dua tipe, yaitu fitur umum (Common) dan variabel. Fitur umum akan selalu diikutkan dalam seluruh konfigurasi pengembangan SPLE karena fitur ini menjelaskan bentuk umum dari fungsionalitas yang secara mendasar harus hadir dalam disain piranti lunak massal. Fitur variabel merepresentasikan bentuk atau fungsionalitas yang dapat menghadirkan produk piranti lunak yang berbeda dari fitur yang dimiliki oleh produk piranti lunak yang dilibatkan dalam pengembangan SPLE. Untuk mengembangkan produk piranti lunak yang spesifik, maka dilakukan seleksi terhadap fitur yang akan dilibatkan dalam suatu konfigurasi yang berupa fitur yang berasal dari Feature Model. Fitur variabel akan dipilih berdasarkan persyaratan dan requirement spesifik. Proses konfigurasi ini akan membawa disainer arsitektur piranti lunak pada pencapaian seluruh aset produk piranti lunak yang dilibatkan untuk dilakukan penggunaan ulang (reuse). Untuk lebih jelasnya mengenai Feature Model dapat dilihat pada; Czarnecki 1999.

(2)

Serupa dengan arsitektur untuk menghasilkan sebuah produk piranti lunak, arsitektur pada suatu pengembangan piranti lunak massal menyediakan gambaran terendah (siap diimplementasikan) berdasarkan struktur produk yang dimasukkan dalam suatu pengembangan SPLE. Struktur ini menjadi landasan awal untuk melakukan disain arsitektur untuk produk yang menjadi anggota SPLE (yang dilibatkan dalam SPLE), dimana arsitektur akan dikonfigurasi dan menghasilkan gambaran awal dari struktur spesifik suatu piranti lunak massal. Salah satu hal tantangan terbesar dari disain arsitektur piranti lunak massal ini adalah mengakomodasi variabel pada komponen piranti lunak dan mengetahui sejak dini (pada saat konfigurasi) kesalahan disain yang mungkin terjadi. Dimana, komponen dengan variabilitas menyatakan kemungkinan terjadinya hubungan pada satu atau lebih komponen dan representasi komponen yang berbeda (misal: satu komponen memiliki variabilitas internal) yang harus dapat diakses fungsionalitasnya oleh elemen dalam arsitektur piranti lunak.

Tulisan ini mengajukan suatu proposal untuk mendeteksi kesalahan (error) pada saat dilakukan disain arsitektur piranti lunak massal dengan melakukan pengelompokkan ber-relasi mempergunakan pendekatan hypergraph, kemudian melakukan analisa dependensi antar komponen yang memiliki variabilitas didalam arsitektur, dan mengajukan metode verifikasi terhadap graph yang terbentuk. Dan akhirnya di transformasikan ke dalam bentuk Component Model yang siap dijadikan produk piranti lunak siap pakai.

Pada bagian setelah ini akan dipaparkan hasil survei literatur, kemudian dilanjutkan dengan metodologi yang dilakukan dalam penelitian, dan dilaknjutkan dengan pembahasan studi kasus pada eLearning Product Line Architecture yang telah diselesaikan. Tulisan ini diakhiri dengan kesimpulan dan kelanjutan dari penelitian yang telah dilakukan.

Studi Pustaka

Pendekatan Component-Based; Czarnecki 2005, Pahl 2006; telah banyak dipergunakan dan diakui sebagai pendekatan yang memadai untuk pengembangan arsitektur piranti lunak massal. Pendekatan Component-Based menentukan terjadinya interaksi dari fungsionalitas yang mempengaruhi sifat (behaviour) dari komponen piranti lunak. Pengelompokkan fungsionalitas komponen menghasilkan non-fungsionalitas. Kelompok non-fungsionalitas akan mempengaruhi struktur arsitektur piranti lunak massal pada saat konfigurasi untuk menghasilkan arsitektur spesifik. Untuk mengatasi hal ini beberapa penelitian telah mempergunakan pendekatan matematis dan multi skala, seperti SAT;White 2008, AHP/ANP; Murwantara 2012.

Penggunaan Hypergraph ;Henning 2012, memberikan inisialisasi proses pengelompokkan komponen dan fungsionalitas didalamnya untuk dibentuk menjadi non-fungsional faktor. Hypergraph merupakan sebuah tuple (V,e), dimana V adalah kumpulan node yang memiliki subset

Content dan Id. Sementara e berfungsi sebagai edge yang menghubungkan setiap node V. Setiap

vertices memiliki kemampuan untuk memiliki lebih dari satu relasi. Dimana, setiap relasi akan memiliki penghubung yang disebut edge, dalam hypergraph, edge merupakan identifikasi komunikasi yang terjadi pada graph. Pada tulisan ini edge menjadi indikasi adanya relasi antar komponen, dan juga keberadaan dependensi antar komponen. Sehingga, jika sebuah komponen memiliki relasi dalam suatu edge maka pada saat dilakukan konfigurasi perlu melibatkan komponen yang ada didalam relasinya. Hal yang perlu ditekankan disini adalah setiap relasi memberikan kesempatan kepada disainer untuk melakukan seleksi terhadap komponen yang sesuai,

dan edge memberikan kemudahan dalam memprediksi tingkat dependensi antar komponen yang

terjadi. SAT adalah boolean satisfiability dan dibentuk mempergunakan Boolean Propositional Logic. SAT memeriksa jika didalam suatu relasi logika kompleks dapat dinyatakan True. Proses pemeriksaan dilakukan dengan memasukkan elemen logika ke dalam rumusan pengujian.

(3)

Metodologi Penelitian

Metodologi dalam penelitian ini melakukan modifikasi dan mengadopsi pendekatan komponen, melakukan modifikasi penggunaan Hypergraph, dan pembuktian atau verifikasi mempergunakan SAT/SMT. Langkah-langkah pendekatan yang digunakan dapat dilihat pada Gambar1.

Gambar 1. Pendekatan Identifikasi Kesalahan Disain Arsitektur Piranti Lunak Massal

Langkah-langkah pendekatan untuk melakukan identifikasi kesalahan disain pada arsitektur piranti lunak massal, seperti terlihat pada gambar 1, adalah sebagai berikut:

(a) Langkah pendeteksian dimulai dengan membentuk komponen model yang telah ada dalam arsitektur piranti lunak massal.

(4)

(c) Hypergraph ditransformasi menjadi Conjunction Normal Form (CNF), hal ini untuk memudahkan kompatibilitas dengan proses verifikasi pada SAT/SMT.

(d) Bagian ini melakukan verifikasi konsistensi dan dependensi pada arsitektur piranti lunak massal. Komponen yang tidak sesuai dengan syarat konfigurasi akan diberikan informasi permasalahan yang terjadi, sehingga disainer piranti lunak dapat melakukan seleksi ulang atau mengubah dan menghapus komponen yang tidak sesuai dengan tepat. Hal ini memberikan efesiensi dalam melihat kemungkinan terjadinya konflik fungsionalitas pada komponen. Serta memudahkan disainer untuk menentukan bentuk faktor non-fungsionalitas yang akan digunakan sesuai dengan

user requirement. Metode SAT/MAX pada langkah ini merupakan pendekatan untuk mencari

efesiensi hubungan antar komponen, yang diikuti dengan langkah melokalisir permasalahan disain. Sehingga, kesalahan disain dapat terlihat pada scope kecil atau besar atau terbatas. Lokalisir kesalahan ini memberikan kestabilan pada arsitektur karena mengurangi dampak perubahan terhadap keseluruhan arsitektur piranti lunak massal.

Hasil dan Pembahasan

Kami melakukan pengujian pendekatan yang diusulkan ini mempergunakan eLearning Product Line Architecture (eLPLA) ;Murwantara 2012, dengan Component Model seperti terlihat pada Gambar 2.

Gambar 2. eLearning Product Line Architecture

(5)

Tabel 1. Pair-Matrix Komponen

VE1 VE2 VE3 VE4 VI1 VI2 VI3 VI4 VI5

1 1 0 0 0 1 0 0 0 0

2 1 1 0 0 0 0 0 1 0

3 0 1 0 0 0 0 1 0 0

4 0 0 0 0 1 0 1 0 0

5 0 0 0 0 1 1 0 0 0

6 0 0 1 0 0 0 0 0 1

7 0 1 1 1 0 0 0 0 0

(a) (b)

Gambar 3. Hypergraph eLPLA (a) dan Sub-Hypergraph VI1 (b).

Hypergraph yang dihasilkan kemudian digabungkan menjadi Detail Hypergraph, dalam bentuk Grammar menjadi seperti dibawah ini:

Detail Hypergraph

a={VE1,VI13}

b={VE1,VE2,VI4}

c={VE2,VI3}

d={VI12,VI3}

e={VI11,VI2}

f={VE3,VI5}

g={VE2,VE3,VE4}

Transformasi CNF CNF

a:{VE1 VI13}

b:{VE1 VE2 VI4}

c:{VE2 ∨ VI3}

d:{VI12 ∨ VI3}

e:{VI11 ∨ VI2}

f:{VE3 VI5}

g:{VE2 ∨ VE3 ∨ VE4}

Edge yang terbentuk diperiksa mempergunakan aturan dibawah ini:

Hedge • SAT iffedge < 2n (1)

(6)

Hypergraph) elemen dapat dikonfirmasikan tanpa harus melakukan verifikasi sekaligus seluruh elemen arsitektur.

Kesimpulan

Telah diusulkan pendekatan untuk identifikasi kesalahan disain arsitektur piranti lunak massal menggunakan Hypergraph dan SAT/SMT. Pada hasil penelitian ini identifikasi kesalahan disain dapat dilakukan pada saat disain dikerjakan, sehingga dapat mengurangi kemungkinan kesalahan pada saat implementasi. Lebih jauh lagi, komponen dengan variabilitas eskternal dan internal dapat lebih eksplisit pada proses konfigurasi. Sehingga stabilitas arsitektur dapat dipertahankan saat konfigurasi dan rekonfigurasi dilakukan.

Penelitian selanjutnya adalah memperjelas kemampuan SAT/SMT untuk mendeteksi relasi antar komponen didalam disain arsitektur piranti lunak massal.

Ucapan Terima kasih

Penelitian ini dibiayai oleh Lembaga Penelitian dan Pengabdian Masyarakat (LPPM) Universitas Pelita Harapan, No. Proyek P-002-FIK/IX/2011.

Daftar pustaka

Czarnecki, K, 1999, Generative Programming, Phd Dissertation, Ilmenau Technical University, German.

Czarnecki, K., Antkiewicz, M., Kim, C. H. P., Lau, S., & Pietroszek, K. , 2005, Model-driven software product lines, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA ’05, 126. New York, New York, USA: ACM Press. Doi:10.1145/1094855.1094896

Hans, M., and Jørgensen, B. N., 2012, Cardinality-dependent Variability in Orthogonal Variability Models, Proceeding of Variability Modelling and System, pp.165-172, Leipzig, German

Jose, M., 2011, Cause Clue Clauses : Error Localization using Maximum Satisfiability , Proceeding of PLDI 2011,pp 437-446, ACM, California, USA.

Kang, K. C., Kim, S., Lee, J., Kim, K., & Shin, E. ,1998, FORM : A feature-oriented reuse method with domain-specific reference architectures, Annuals of Software Engineering, 5, 143-168.

Murwantara, I. M. , 2011, Initiating Layers Architecture Design for Software Product Line. Proceeding URKE 2011, 48-51, IEEE.

Murwantara, I. M., Yugopuspito, P., Saputra, S., 2012, Hybrid AHP for Decision Modeling of Non-Functional Factor of a Software Product Line, sedang dalam proses review pada conference ICASCE 2012, IEEE, Jakarta.

Pahl, C. ,2006, An ontology for software component matching. International Journal on Software Tools for Technology Transfer, 9(2), 169-178. doi:10.1007/s10009-006-0015-9

Tischer, C., Muller, A., Ketterer, M., & Geyer, L. ,2007, Why does it take that long? Establishing Product Lines in the Automotive Domain, 11th International Software Product Line Conference (SPLC 2007), 269-274. IEEE, doi:10.1109/SPLINE.2007.20

Gambar

Gambar 2. eLearning Product Line Architecture
Tabel 1. Pair-Matrix Komponen

Referensi

Dokumen terkait

Penelitian ini dilaksanakan secara deskriptif dengan pengambilan data secara retrospektif pada pasien stroke hemoragik yang dirawat di instalasi rawat inap RSU

Sistem information retrieval (IR) system adalah system yang digunakan untuk menemukan kembali (retrieve) informasi-informasi yang relevan terhadap kebutuhan pengguna dari

[r]

Proses Penerimaan karyawan Baru memiliki 3 level yaitu top level sistem secara keseluruhan kemudian dibawah pada level 0 terdapat 3 proses yaitu master yang

Hasil penelitian menunjukkan bahwa kandungan mineral natrium, kalium dan kalsium dalam air zamzam kemasan merek A, B, C berbeda dengan pembanding air Zamzam yang dibawa dari

Namun yang menjadi sebuah fenomena disini ialah 90% mahasiswa baru kurang mengetahui informasi tentang banyaknya barang-barang kos bekas yang dijual oleh sarjana

Untuk dapat memenuhi kebutuhan penganalisa maka dalam penelitian ini rasio keuangan yang digunakan adalah rasio lancar karena rasio ini merupakan rasio yang paling umum

Yusrah Asmuni, Aliran Modern dalam Islam, (Surabaya: Al-Ikhlas, 1982), h.. pengarang ulung, seorang pengajar dan penasehat sebuah kolese ilmiah keagamaan Muhammaden Anglo