GRAFIČKO OKRUŽENJE ZA POMOĆ PRI OTKRIVANJU IDIOMA U PROGRAMSKOM KODU
Ključne reči:
MDSE, generisanje koda, idiomi
Apstrakt
Generisanje koda u cilju automatizacije razvoja softvera predstavlja najčešći slučaj primene MDSE pristupa. Jedan od alata za generisanje koda je i RoseLib biblioteka, koja nudi API za generisanje C# koda. U ovom radu je predstavljeno rešenje implementirano sa ciljem proširenja RoseLib biblioteke. Implementirano je grafičko okruženje koje omogućava otkrivanje idioma na osnovu skupa idiomatskih softverskih projekata i njihovu integraciju u RoseLib biblioteku. Integracijom pronađenih idioma, API koji nudi RoseLib biblioteka se proširuje na način da omogućava generisanje pronađenih idioma. Time se omogućava lakše generisanje koda koji se ponavlja kroz softverske projekte, čime se ubrzava razvoj softverskog proizvoda.
Reference
[1] M. Brambilla, J. Cabot and M. Wimmer, Model-Driven Software Engineering in Practice: Second Edition. Morgan & Claypool, 2017.
[2] The .NET Compiler Platform SDK, dostupno na: https://docs.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/ (pristupano u oktobru 2021.)
[3] N. Todorović, A. Lukić, B. Zoranović, R. Vaderna, Ž. Vuković and S. Stoja, „RoseLib: A Library for Simplifying .NET Compiler Platform Usage“. in: ICIST 2018 Proceedings. 2018, pp. 216–221
[4] M. Allamanis and C. Sutton, „Mining idioms from source code“, in: Proceedings of the 22nd acm sigsoft international symposium on foundations of software engineering. 2014, pp. 472–483
[5] N. Todorović and A. Lukić, RoseLibML, dostupno na: https://github.com/lukic-aleksandar/RoseLibML, (pristupano u oktobru 2021.)
[6] Language Server Protocol, dostupno na: https://microsoft.github.io/language-server-protocol/ (pristupano u oktobru 2021.)
[7] OmniSharp Language Server Protocol Implementation, dostupno na: https://github.com/OmniSharp/csharp-language-server-protocol (pristupano u oktobru 2021.)
[8] Webview API, dostupno na: https://code.visualstudio.com/api/extension-guides/webview (pristupano u oktobru 2021.)
[9] VSCode Language Client – Server Module, dostupno na: https://www.npmjs.com/package/vscode-languageclient (pristupano u oktobru 2021.)
[2] The .NET Compiler Platform SDK, dostupno na: https://docs.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/ (pristupano u oktobru 2021.)
[3] N. Todorović, A. Lukić, B. Zoranović, R. Vaderna, Ž. Vuković and S. Stoja, „RoseLib: A Library for Simplifying .NET Compiler Platform Usage“. in: ICIST 2018 Proceedings. 2018, pp. 216–221
[4] M. Allamanis and C. Sutton, „Mining idioms from source code“, in: Proceedings of the 22nd acm sigsoft international symposium on foundations of software engineering. 2014, pp. 472–483
[5] N. Todorović and A. Lukić, RoseLibML, dostupno na: https://github.com/lukic-aleksandar/RoseLibML, (pristupano u oktobru 2021.)
[6] Language Server Protocol, dostupno na: https://microsoft.github.io/language-server-protocol/ (pristupano u oktobru 2021.)
[7] OmniSharp Language Server Protocol Implementation, dostupno na: https://github.com/OmniSharp/csharp-language-server-protocol (pristupano u oktobru 2021.)
[8] Webview API, dostupno na: https://code.visualstudio.com/api/extension-guides/webview (pristupano u oktobru 2021.)
[9] VSCode Language Client – Server Module, dostupno na: https://www.npmjs.com/package/vscode-languageclient (pristupano u oktobru 2021.)
Objavljeno
2022-02-04
Sekcija
Elektrotehničko i računarsko inženjerstvo