IntroductionThese are the use case scenarios described within the original proposal for this project. Use case scenariosAssumptions: Hackystat sensor data are available on the Web as RDF Linked Data for every open source project. According to the "Web of data" context this means that sensor data are linked to "every" web resource related to them, where a web resource is identified by a dereferenceable URI that provides an RDF description for the resource. Benfits for developer's profileFirst scenario:Alice has a deep knowledge of the shell as a framework to text handling, and the use of commands such as 'tr' 'sed' and 'awk' has saved her lots of time in the past during software development. Then she would like to specify in her curriculum vitae not noly that she uses a nix-based operating system, but also that she masters it without being suspected to lie. So she inserts in her curriculum the number of occurrences of the portion of CLI sensor data referred to these commands recorded by Hackystat for each of the project she is or has been involved in, by just invoking a proper HTTP GET request to her Hackystat server. Second scenario:Alice wants to integrate sensor data inserted in her curriculum vitae with information contained within her FOAF account. She only has to know the URI of her FOAF account in order to link these different information sources, and then insert a RDF statement in her resume (such as "Alice_FoafAccount_URI owl:sameAs Alice_sensorDataOwner_URI"). Benefits for job recruitersThird scenario:Joe is a job recruiter who is searching for two developers to recruit. In the past he has engaged developers whose curriculum vitae stated they knew the Java programming language and listed some application realized by them. He could not test all these applications and so he trusted them only because of the quantity and application domain of the applications listed. However, only later those employees demonstrated they had not enough Java skills to develop a product that met the quality standards. This time Joe finds a developers community in which he could explicitly search for curriculum vitae of programmers who have collected the lowest code issue level during past projects. Thus he can obtain more reliable information about developers' skills. Benefits for developers needing help while programmingFourth scenario:Joe is working on an open source Java project as a developer and he needs help to solve an exception that has been thrown. He would like to ask suggestion to other developers who masters Java and so he performs a search within a community of developers who use Hackystat sensors or within a properly interface on his Hackystat server (in this case the search will be done only between developers involved in projects using the same server), and find Alice as the developer more caring about Java code style. He could really trust every search result because the search engine is capable of searching RDF documents and information about programming skills collected in the dataset istaken directly from Hackystat linked sensor data. Fifth scenario:Joe has to close a bug issue and wants to ask tips to other developers who have solved the same issue for other projects. He just has to follow the link associated with the URI of the opened bug of interest to find "all" the other projects in which that bug has been closed. Benefits for developers searching for the open source application best suiting their needsSixth scenario:Joe is a developer employed in a software house who is searching for an open source application to be integrated in his project as an external tool. He would like to find a stable and reliable application that has a low number of bug reports left open but that's not enough, because the number of bugs could be low just because none has tried to find out more. Moreover there could be the need to adapt the existing code, and so he would like to also know that the code is well-written (i.e., not having unnecessary dependencies and expression complexities). Tipically to ensure that a project meets these equality needs, he usually has to test and analyze by himself each open source project that seems suitable. However he finds an open source project that has published its data collected by Hackystat sensors through trusted tools such as Checkstyle, Findbugs and PMD, which refer just to bugs and code wellness and indicate good results. So he chooses to use this application in the project for his software house. Benefits for final usersSeventh scenario:Joe is a developer who wants to publish information about Jupiter, the tool he uses for code reviewing in a social community website reserved to developers which supports curriculum content collected in RDF format. So with simple HTTP GET request to his Hackystat server, Review Activity sensor data are retrieved as linked data, that means data linked to "every" other web resources, having a RDF description and referring to Jupiter. In this way if a final user wanted to know more about Jupiter (for example wants to know its year of creation), he wouldn't have to perform any other research on the web, because he would already have all the links he needs. Benefits for policy specification and enforcementEighth scenario:Alice is a developer who doesn't want to let others access her sensor data related to the code issues "collected this morning from 11 a.m. to 12 a.m." because they're not so good. She sets a proper rule in the data access control interface and without any additional effort for Alice a security enhanced RDF description is generated and added to the High level Policy Base, such as (subject_Is_Everyone, objects_Are_Code_Issue_Having_CollectionTime_between11And12AM_AND_CollectedByAlice, noPermission). Then it's applied to every specific scenario description in which involved subjects and objects matches the conditions specified in that tuple. This can be done by taking advantage of the existence of the RDF description of CODE ISSUE sensor data type and the acccessibility of the Collection Time field within it.
|