iStarJSON: A Lightweight Data-Format for i* Models Oscar Franco-Bedoya David Ameller Lidia López Dolors Costal ohernan@essi.upc.edu dameller@essi.upc.edu dolors@essi.upc.edu llopez@essi.upc.edu
Agenda iStarJSON: A Lightweight Data-Format for i* Models Motivation 1 iStarJSON Language 2 iStarJSON Services 3 IStarJSON PoC 4 Conclusions & Future Work 5 2
Motivation iStarJSON: A Lightweight Data-Format for i* Models iStarJSON has been carried out in the context of a general framework for Open Source Software ECOsystems (OSSECOs) quality analysis and modelling process. i* is used to represent OSSECOs, and the framework uses model analysis for OSSECO quality analysis (e.g., identifying main goals, members relationships, strategic dependencies) 3
JSON trend is growing iStarJSON: A Lightweight Data-Format for i* Models API Data Exchange: XML vs. JSON 80% 70% 60% 50% XML 40% JSON 30% 20% 10% 2005 2007 2009 2011 2013 Source: e: P Progr grammabl ble e Web S eb Site 4 Over more than 16.000 AP APIs
iStarJSON: A Lightweight Data-Format for i* Models ISTARJSON LANGUAGE 5
An iStar model is a directed graph iStarJSON: A Lightweight Data-Format for i* Models Source ce: i iStar Wiki G = (V;E) V = {actor; agent; role; position}U {goal; task; resource; softgoal; belief } Atype = { association;dependency;means_end;decomposition;contribution } Dependencies are represented by three nodes (depender, dependee and dependum) and two links, one from the depender to the dependum and other from the dependum to the dependee. 6
iStarJSON iStarJSON: A Lightweight Data-Format for i* Models from iStarML hierarchical structure to iStarJSON graph structure Graph structure does not affect to the i* syntax or semantics Graph structure allow using existing tools and algorithms for graph manipulation (e.g., graph layouts, node centrality, shortest path) 7
iStarJSON (partial) Schema iStarJSON: A Lightweight Data-Format for i* Models 8
iStarJSON (partial) Example iStarJSON: A Lightweight Data-Format for i* Models 9
iStarJSON: A Lightweight Data-Format for i* Models ISTARJSON OSS PROJECT 10
iStarJSON Project Architecture iStarJSON: A Lightweight Data-Format for i* Models 11
iStarJSON project in Github iStarJSON: A Lightweight Data-Format for i* Models https://github.com/UPC-gessi-oscar-franco/iStarJson 12
iStarJSON: A Lightweight Data-Format for i* Models ISTARJSON PoC 13
iStarJSON REST Web Services iStarJSON: A Lightweight Data-Format for i* Models iStarML to iStarJSON 1 converter iStarJSON Validator 2 iStarJSON Graph 3 Generator 14
i* Model for Testing iStarJSON: A Lightweight Data-Format for i* Models 15
iStarML to iStarJSON Converter iStarJSON: A Lightweight Data-Format for i* Models curl -v -H "Content-Type: application/xml" -X POST --data @Test2.istarml http://localhost:8080/iStarJSONServiceREST/istar/istarToJSON >Test2.istarjson 16
iStarJSON Validator iStarJSON: A Lightweight Data-Format for i* Models curl -v -H "Content-Type: application/xml" -X POST --data @Test2.json http://localhost:8080/iStarJSONServiceREST/istar/istarJSONvalidator > valid.txt curl -v -H "Content-Type: application/xml" -X POST --data @Test2Bad.json http://localhost:8080/iStarJSONServiceREST/istar/istarJSONvalidator > invalid.txt 17
iStarJSON Graph Generator iStarJSON: A Lightweight Data-Format for i* Models curl -v -H "Content-Type: application/xml" -X POST --data @Test2.json "http://localhost:8080/iStarJSONServiceREST/istar/istarJSONconverter/param?lay aout=dot&type=pdf" >grap.pdf 18
Graph Visualization Just in iStarJSON: A Lightweight Data-Format for i* Models case… Gen ener erated ed f from an iStarML f file 19
iStarJSON on the cloud (AZURE) iStarJSON: A Lightweight Data-Format for i* Models • Converter curl -v -H "Content-Type: application/xml" -X POST --data @Test2.istarml http://testoneosseco.azurewebsites.net/iStarJSONServiceREST /istar/istarToJSON • Validator curl -v -H "Content-Type: application/xml" -X POST --data @Test2.json http://testoneosseco.azurewebsites.net/iStarJSONServiceREST /istar/istarJSONvalidator • Graph Generator : Coming soon! 20
iStarJSON: A Lightweight Data-Format for i* Models CONCLUSIONS & FUTURE WORK 21
Conclusions iStarJSON: A Lightweight Data-Format for i* Models Definition of JSON Provision of 3 REST 1 3 language Web Services iStarML to iStarJSON converter iStarJSON Validator iStarJSON Graph Generator Release iStarJSON as OSS project 2 https://github.com/UPC-gessi-oscar-franco/iStarJson 22
Future work iStarJSON: A Lightweight Data-Format for i* Models Adding more services for… i* Model Analysis 1 Social Network Analysis 2 Software Ecosystems 3 23
iStarJSON: A Lightweight Data-Format for i* Models Thank you! ? 24
Recommend
More recommend