You are on page 1of 7

Journal of Applied Computer Science & Mathematics, no.

11 (5) /2011, Suceava

Information System of Resolution of Procedural Incidents and Management of the


Modifications Made to the Electronic Court Registration
1
Sorin I. JEDER, 2Ştefan Gheorghe PENTIUC
1
Court of Appeal Suceava, Romania, 2„Ştefan cel Mare” University of Suceava, Romania
1
sorin.jeder@just.ro, 2pentiuc@eed.usv.ro

Abstract–This information system was made for its use by This application makes it easy for clerks dealing with random
the staff responsible for random distribution of cases to the assignment of cases in the ECRIS application and allows a great
courts. The Information System of Resolution of Procedural control of changes made by the judges. In order to solve the
Incidents and Management of the Modifications Made to the procedural incidents occurred to the judge or panel after the
Electronic Court Registration consists of three new developed
modules: the management module is a Web application
distribution, the information system, through a knowledge base
which chronicles the modifications made in the electronic made with Web ontologies, makes judgments by applying a
court registration, regarding the random assignment of cases, resoner or a rule-based reasoner or resoner until finding the
the resolution of procedural incidents, which is a Web service right solution.
whose logic implements a logic Semantic Web application This information system automatizes these work procedures
and the module of confirming judges which is a windows established by the rules of the Romanian courts and increasez
service running on the judges’ workstations. The Web service the speed of the clerks’ work, responsible for the random
implements a Semantic Web application which processes the assignment of the cases. This application implemented to the
knowledgebase achieved through OWL ontology (Ontology Court of Appeal Suceava treats procedural incidents and
Web Language) by applying inferences leading to the correct
solution. If this does not solve the problem, a set of associated
manages the changes made in the application ECRIS when they
Jena rules are used to infer and generate new knowledge. It occur as a result of the distributions made by the ECRIS
also uses the SPARQL(SPARQL Protocol and RDF Query application.
Language) language that allows queries on the knowledge,
similar to the classic query languages of databases. The II. DEFINITION SPECIFICATIONS
novelty of the new conceived, designed and implemented
system consists in accessing the domain knowledge as a web After discussions, interviews and questionnaires completed
service to solve the procedural incidents occurred in by the future beneficiaries of the new information system a
electronic court registration. number of requirements have been identified. These have led to
a final report that also contains the diagram of the cases of use
Keywords: Web applications, Web services, windows shown in Figure 1. The diagrams of the cases of use describe the
services, Semantic Web, ontologies, OWL, reasoner, rules, system’s behavior, providing an overview of how it is used in
Jena framework, SPARQL. terms of users.
I. INTRODUCTION

This information system was made following requests


from the staff responsible for random distribution of cases
to the court. The information system developed by the
authors is a complement to the ECRIS(Electronic Court
Registration Information System) application.
In the context of the new information society, in the
justice system has been implemented the ECRIS
application (Electronic Court Registration Information
System) a information system for electronic records
management. Because some activities which are regulated
in the Rules of Procedure of the courts by the Decision.
387/2005 do not appear in the ECRIS application, we
proposed the creation of The Information System of
Solving the Procedural Incidents and Management of the
Modifications made to the application ECRIS abbreviated
RIPGM. Fig. 1. Diagram of the cases of using the ECRIS application

21
Computer Science Section

In our case, the actors are: 1.The clerks – who can


upload the appropriate page to add in the information
system the modifications made to the ECRIS application
regarding the modification of the distribution term, the
number of the allocated files for a panel, the conversion of
terms, assigned and deleted files, deleted and non-assigned
files, the delete distribution, the request for procedural
incident, requalification of appeal, minutes and, last but
not least, solving the procedural incidents, etc.
This type of actors are using the application most
frequently. It can also generate Listing register of
distribution reports, Listing deleted files and Listing
special register depending on the date of the modification
or the number of modifications of all or some sections;
2. Judges. President, Vice President – who can visualize all
Fig. 2 Block diagram
the deletions made in the ECRIS application and can
confirm the request to delete a file. The section president - B. Operation of Program Product
can view all changes made in the ECRIS application at the An usual procedure consists in the folowing steps.
chosen section and can confirm the modification; 3.The 1. The clerk or the judge, using the web browser Internet
manager - can add data about the users of the information Explorer installed on the workstation, loads the RIPGM
system. application. The first page of the application allows the clerk or
The cases of use in our system are: user registration, the the judge to login with username and password, after which he
registration of request to modify the ECRIS application, is granted to access the application. Depending on the user, he
view changes, solving procedural incident and validation has rights to access other pages of the application. In case of the
of request to modify the ECRIS application, making a clerks, depending on the performed operation, one can choose to
description of the system from the functional perspective. record in the information system the modifications made to the
ECRIS application which do not involve other resources than
III. DESIGN SPECIFICATIONS the application server or the database server or can start the
To implement the information system we used client- procedure for handling the procedural incidents, which involves
server web technologies, taking into account that the both resources of the ECRIS application, the Web service with a
system integrates information from the ECRIS application logic that is a semantic web application and the Windows
of management of files from the Court of Appeal Suceava. services from the judges’ stations. The judges have the
Whereas the ECRIS application is running on a server with opportunity to review the registration of the changes made by
a set up availability, determined our application to be the clerks and can give confirmation if everything is correct.
located on an independent server. This server will contain 2. In response to the requests made by clerks or judges via
an application server and a database server. Moreover, the browser, the web server responds by displaying the pages
application accesses a Web service that can be on a appropriate to the new application.
separate machine and a windows service that is on the 3. If the procedure of treating the procedural incident is
user's workstation (the judges). The innovations consist requested, the web server requests a method appropriate to the
mainly in using the web service with a logic that is a web service with a logic that is a semantic web application, to
Semantic Web application, which is a relatively new return the solution. The web service method has a string of
technology with an increasingly use, offering new letters as an input parameter and returns a string of letters as a
challenges through the inferential procedures it presents. It result.
also uses the SPARQL language that allows queries on the 4. To give the solution, this service calls the database of the
knowledge, similar to the classic query languages of ECRIS application and RIPGM that resides on a SQL Server
databases. 2005, where by using SQL queries, it extracts the information it
needs in the inference of the new knowledge. From the ECRIS
A. Block diagram application one will take the panels and the judges, and from the
By presenting this scheme (figure 2) we are trying to application RIPGM one will take daily the list of permanent
identify all the elements of the designed information judges.
system, the resources needed by the system, the 5. The Web service with a logic implemented by a Semantic
functions fulfilled by each module, the technology used for Web application will take some of the data needed to build the
this system to meet the requirements for which it was knowledge base by transferring the data in the ontologies. After
made, the inputs and the outputs of the information obtaining the knowledge base, it will be inferred by applying
system, etc. production rules, according to the type of the requested

22
Journal of Applied Computer Science & Mathematics, no. 11 (5) /2011, Suceava

procedural incident and will return the solution to the web <asp:ListItem>Grefieri</asp:ListItem>
application that requested the method. </asp:DropDownList><br /> <br />
6.Returns the solution found to the Web application that </form>
requested the method. The attribute runat = "server" for a certain control, specifies
7.The Web application will take the solution, identify the that for the object, ASP.NET Runtime Engine running on the
judges who will be part of the new panel and will send the web server (IIS) will make the transformation into a standard
confirmation message to the windows service installed on HTML object depending on the type of browser,on the
the judges’ stations. JavaScript version and the C # code associated to that object
8.After receiving the message, the judges, through a dialog (called code behind) [11].
box that appears on the workstation will confirm or not The code section contains the C # code associated to the page
whether they will be part of the panel. or the page objects. The code can be placed directly on the page
or in a file with a .cs extension, with the same name as the page.
C. The Functions of the Program Product protected void Button1_Click(object sender, EventArgs e)
From the block diagram there are three basic modules to { Session["vizualizare"] = "paginaprincipalap.aspx";
ensure the good conduct of the entire information system: if (GridView1.Rows.Count== 0) { }
1.The management module is a client-server Web else{ Session["modifica"] =
application which manages the modifications made in the GridView1.SelectedRow.Cells[1].Text;
ECRIS application regarding the random assignment of Response.Redirect("Modificarep.aspx"); } }
cases. The client has to enter the data into the information The connection between the database and the html controls
system through clerks and judges. This module makes a are done through SqlDataSource object. From the context menu
request to the server module of the Web application. This associated to this object, choose the Configure Data Source
module also deals with the display of the data obtained option, choose the database and build the SQL query to retrieve
after processing. It is actually the graphical interface for data.
the Web application through the Internet Explorer web <asp:SqlDataSource ID="SqlDataSource3" runat="server"
browser. The server processes the data from the client or ConnectionString="<%$
other existing modules in the information system to obtain ConnectionStrings:ecris_cdmsConnectionString %>"
the desired results. The processing is very complex, SelectCommand="SELECT [id_sedinta], [id_dosar], [nume],
requiring considerable hardware and software resources [prenume], [functie] FROM [View_ecris2] WHERE
for this to take place in real time. To achieve the Web (([id_sedinta] = @id_sedinta) AND ([id_dosar] =
application it was used the medium of development Visual @id_dosar))">
Developer 2005 and C # language in Microsoft ® <SelectParameters>
ASP.NET technology, NET Framework [8] on the <asp:ControlParameter ControlID="TextBox68"
application and on the data the Microsoft SQL Server Name="id_sedinta" PropertyName="Text" Type="Int64" />
2005. Being a Windows-based application, the operating <asp:ControlParameter ControlID="TextBox69"
system is Windows Server 2008 with Internet Information Name="id_dosar" PropertyName="Text" Type="Int64" />
Services Web server. The Web page. aspx consists of three </SelectParameters></asp:SqlDataSource><br />
sections: the directives section, the layout section and the To this data source can be connected data display controls
code section. The directives section is used to set the such as GridView, Detailview, FormView.
working environment by indicating the way of processing
the page. 2.The module for solving the procedural incidents is a Web
<%@ Page Language="C#" AutoEventWireup="true" service [7], responsible for the procedural steps from the Web
CodeFile="Default.aspx.cs" Inherits="_Default" %> application. The logic of this module is implemented by a
This section layout contains the HTML code of the Semantic Web application. The Web service method has a
Body section: string of letters as an input parameter and returns a string of
<form id="form1" runat="server"> letters as a result. This module takes the data via an interface
<div> <span style="font-size: 16pt; color: contained in the management module which makes the method
#0000ff"><span style="font-size: 14pt"><strong> request.
Information System of Resolution of Procedural Incidents To query and retrieve information, the module allows users to
and Management of the Modifications Made to the identify information through queries in natural language and
Electronic Court Registration after that the system processes the queries and provides the
<br /></strong></span> <br /> result.
Tip utilizator &nbsp;<asp:DropDownList For processing the knowledge a formal model of
ID="DropDownList1" runat="server" Width="159px"> knowledge representation has been developed, shown in Figure
<asp:ListItem>Utilizator</asp:ListItem> 3.
<asp:ListItem>Presedinte</asp:ListItem>

23
Computer Science Section

String rules = "[regula: (?s prefix:arecompletsedinta ?c),


(?c prefix:areincidentproceduracompletul ?i), (?c
prefix:arenumarinlistacompletul ?n), sum(?n,1,?nfinal) -> (?s
prefix:aresedintanrcomplet ?nfinal)]"
+ "[(?s prefix:arecompletsedinta ?c), (?c
prefix:areincidentproceduracompletul ?i), (?c
prefix:completularenumarjudecatori ?n) -> (?s
prefix:aresedintanumarjudecatori ?n)]"
+"[(?s prefix:arecompletsedinta ?c), (?c
prefix:areincidentproceduracompletul ?i), (?c
prefix:aremateriacompletul ?m) -> (?s prefix:aremateriasedinta
?m)]"
+"[(?s prefix:arecompletsedinta ?c), (?c
prefix:areincidentproceduracompletul ?i), (?c
prefix:arestadiulcompletul ?st) -> (?s prefix:arestadiulsedinta
?st)]"
+"[ (?s rdf:type prefix:Sedinta), (?s
prefix:aresedintanrcomplet ?nfinal), (?c
prefix:arenumarinlistacompletul ?nfinal), (?s
prefix:aresedintanumarjudecatori ?n), (?c
prefix:completularenumarjudecatori ?n),(?s
prefix:aremateriasedinta ?m),(?c prefix:aremateriacompletul
?m), (?s prefix:arestadiulsedinta ?st), (?c
prefix:arestadiulcompletul ?st) -> (?s
prefix:arenouacompletsedinta ?c)]"
+"[ (?s prefix:arecompletsedinta ?c), (?c
Fig. 3 The module of solving the procedural incidents prefix:areincidentproceduracompletul ?i), (?c
prefix:arenumarinlistacompletul ?n), min(?n,1,?nfinal) -> (?s
In this model, the axioms that define classes and
prefix:aresedintanrcomplet ?nfinal)]"
relations contained in an ontology are represented in a so
+"[ (?s rdf:type prefix:Sedinta), (?s
called t-box and the statements about individuals are
prefix:aresedintanrcomplet ?nfinal), (?c
contained in an a-box [6].
prefix:arenumarinlistacompletul ?nfinal), (?s
A set of associated Jena rules are used to infer and
prefix:aresedintanumarjudecatori ?n), (?c
generate new knowledge [3]. This module takes the data
prefix:completularenumarjudecatori ?n),(?s
from the information system within RIPGM and ECRIS
prefix:aremateriasedinta ?m),(?c prefix:aremateriacompletul
application.
?m), (?s prefix:arestadiulsedinta ?st), (?c
In Jena, the OWL ontology models (Web Ontology
prefix:arestadiulcompletul ?st) -> (?s
Language) are created using ModelFactory class. A model
prefix:arenouacompletsedinta ?c)]";
can be created dynamic by requesting
A rule reasoner is related to a model or a schema, like any
createOntologyModel() method [9,10].
Jena reasoner, with the request to bindSchema (scheme). Once
linked to a model, the trigger rule, in accordance with its
The Jena rules are rules related to a rules reasoner
configuration, can start the forward control strategy, the
(inference rules). These are used when what can be
backward control strategy, a hybrid or both [6].
inferred from the logic description is not enough.
Reasoner ruleReasoner = new
The rule has two parts, shaping an if-then statement. The
GenericRuleReasoner(Rule.parseRules(rules));
first part is the rule condition and the second part is the end
ruleReasoner = ruleReasoner.bindSchema(model);
of rule. Each rule can have an optional name for the
inferredcapelsv= ModelFactory.createInfModel(ruleReasoner,
convenience and direction of hybrid rules[1]. The rules are
model);
specified in a Jena-specific format appropriate of using in
Jena contains a SPARQL query processor to translate the
a text file. The rules can be used to express a big part of
SPARQL queries to a set of results for a query selection [4].
the OWL semantics and as a tool for users to express
runQuery(" select DISTINCT ?s ?j where{?s
arbitrary relations, which can not be otherwise modeled in
prefix:arenouacompletsedinta ?j} LIMIT 1", model);
OWL.
PrintUtil.registerPrefix("prefix", 3. The module of confirming the judges is a Windows service
"http://www.sorin.ro/capelsv.owl#"); running on the judges’ workstations and that when the web
application sends a message to a particular judge, the service

24
Journal of Applied Computer Science & Mathematics, no. 11 (5) /2011, Suceava

opens a dialog box that displays the corresponding


message to the judge with the given IP.
For implementation, we have the client component
where the TcpClient class connects to the server,
specifying the IP and the server’s port and sends the
message as a string of bytes.
TcpClient client1 = new TcpClient();
client1.Connect(ip, port1);
Byte[] request = Encoding.ASCII.GetBytes(sirdetrimis); Fig.4 Form for validating users
client1.GetStream().Write(request, 0, request.Length);
The server component requests the AcceptSocket Here the user must choose from the lists, the options, so he
method to wait for a client’s connection. When a client can load the desired page. Each user is authenticated with
starts a connection request, the AcceptSocket method username and password, user type and if necessary, the section.
returns the clamp to the client base (a TcpClient object), The Send button verifies the validation data for each user
which will make the communication between the two through some windows objects and stored procedures.
applications. The message sent by the client is received The information are stored in the archive data base that are on
and the windows form is loading. the SQL Server 2005.
private readonly int port1; All the data entered on this page are loaded in sessions and
private readonly IPAddress ip = IPAddress.Parse(sirIP); are checked when loading each page. If the session object
private TcpListener listener1, listener2; corresponding to the data is empty, the page will not be loaded.
public Starb() As an additional protection, the entered password is encrypted
{ this.listener1 = new TcpListener(this.ip, this.port1); so that it can not be sent on the communications channel, thus
} preventing its stealing.
public static void main() From the main page dedicated to the clerks one can choose,
{ Starb ts = new Starb(); as required, the type of category from the menu shown on the
ts.Start(); } left of the screen (Figure 5). All the fields in the form have to be
public void vede() completed, and then the user preses the Apply button. At that
{ Form1 f = new Form1(); moment, at the bottom, a request is filled in, containing all the
f.Show(); completed data. If one wants changes, these are made in the
System.Windows.Forms.Application.Run(f); } textbox controller then the application is sent to the database by
public void Start() clicking the Add request button.
{ this.listener1.Start(); Besides the evidence, the application contains a module of
Socket s1, s2; procedural incidents. This starts from the main page of clerks by
Byte[] incomingBuffer; choosing the Procedural Incidents option. Next the page of
Byte[] time; treating the procedural incidents is displayed, then a selection of
int bytesRead; the folder where a procedural incident appears at a panel of
while (true) { judges, a judge or many judges must be made.
try { s1 = this.listener1.AcceptSocket();
incomingBuffer = new Byte[100];
bytesRead = s1.Receive(incomingBuffer);
Thread form = new Thread(new
ThreadStart(vede));}
catch (Exception ex) { } }
this.listener1.Stop(); }
The judge confirms or not the message that warns him
that he is part of a panel of judges due to a procedural
incident. Also, the dialog box allows the judge to check the
permanence list per day.

IV. PRESENTATION OF THE APPLICATION

In order to connect, the user needs an Internet Explorer


web browser. In the Address field he enters the address of
the application after run <enter> as in Figure 4. The page Fig. 5 Form for introduction the requests for changing the ECRIS
pictured the figure will be displayed. application by category

25
Computer Science Section

After completing the file, it is sought in the ECRIS


application where specific data of the file is displayed,
namely the file’s date, the section where the file was
assigned, its status, material, the panel of each hearing and
the composition of the panel for each hearing .In the case
the entire panel refrains, one must select the procedural
incident from the column abstention option, choosing
which panel will judge and press the button Choose new
panel as in Figure 6. The election procedure is The Rules
of procedure of the courts.
If the judge refrains, choose the procedural incident
from the column recusation option, one must select Judges
who will be part of the panel and press the Choose new
panel button. The place of the judge that has the Fig. 8 The Confirmation Form
procedural incident recusation is taken by judge X who is
selected from the list of permanent judges. The procedure When this does not get the solution, Jena rules are applied to
of choice is presented as in the Regulation. shape those relations that can not be captured in an ontology.
To obtain the desired solution, an ontology capelsv.owl The chosen judge is notified by a message that he will be part
is created, presented in Figure 7, on which we apply an of the panel C4RCOM on the session date for that panel. After
inference engine (Jena reasoner) based on rules for receiving the message, he must confirm or not his participation,
extracting knowledge. (see Figure 8).
Before modifying the ECRIS application, the registrar checks
if the chosen judge confirmed or not. If he didn’t confirmed and
for some reason he can not be part of the panel, that judge is
inactivated in the Permanence List and the procedure is
resumed.

V. CONCLUSIONS

The information system proposed and implemented by us has


the advantage of allowing concurrent access to information. All
the other users of the system can benefit of the right to access
that information.
The application’s security is achieved by encrypting the
password through encryption RSA (Rivest - Shamir - Adleman)
and checking the authentication (stored in session objects) for
each loaded page.
The application’s availability is increased by using validation
Fig. 6 Form for solving the procedural incidents procedures of the data introduced in the forms and the data is
redundantly stored in SQL Server 2005 database by
implementing database mirroring.
The novelty consists in accessing the domain knowledge as a
web service of, using the semantic web logic to solve the
procedural incidents occurred in ECRIS application.
The information system designed and implemented by the
authors is installed at the Court of Appeal Suceava being the
only court in the country enjoying its facilities. Its
implementation in other courts from the country would make
possible the access of the same Web service responsible for
resolving the procedural incidents occurred in the ECRIS
application running independently for each court in the country.

Fig. 7 Capelsv.owl ontology

26
Journal of Applied Computer Science & Mathematics, no. 11 (5) /2011, Suceava

VI. REFERENCES [6] Documentaţie Jena, http://jena.sourceforge.net/


[7] S Graham, S. Simeonov, T. Boubez, ..”Servicii WEB cu Java XML,
[1] S. BURAGA, “Tehnologii XML” Editura POLIROM, 2006. SOAP, WSDL şi UDDI, Editura Teora, 2003.
[2] J. Hebeler, M. Fisher, R. Blace, A. Perez-Lopez, „Semantic [8] Robin A. Reynolds – Haerlte, „POO cu Visual Basic.Net si Visual
Web Programming”, Wiley Publishing, Inc.2009,. C#.Net”, Editura Teora, 2003.
[3] S. BURAGA, „Semantic Web fundamente şi aplicaţii”, [9]D. Gasevic, D. Djuric, V Devedzic, „Model Driven Engineering and
Editura MATRIX ROM, Bucureşti, 2004 Ontology Development-Second Edition, Springer, 2009
[4] H. H. Rubbani, „Semantic Web solutions” [10] J. Cardoso, Amit P Sheth, „Semantic Web Services, Processes and
www.itu.dk/~hammad/thesis/Final%20Thesis.pdf, 2007 Applications”, Springer, 2006.
[5] G.Antoniou, Frank van Harmelen, „A Semantic Web Primer”, [11] A. Niţă, N. Olăroiu, R. Pintea..”Introducere în .NET Framework,
The MIT Press Cambridge, Massachusetts, London, England, Editat de BYBLOS SRL sub coordonarea Agora Media SA, pentru
2008 Microsoft România, Ediţia 2008, ISBN: 973-86699-5-2

Sorin I. Jeder is working as Specialist IT in Court of Appeal Suceava, Romania and having over 5 years experience of
teaching as Lecturer. His research interestes include Web Tehnology, Semantic Web, Expert Systems, IT Design Systems,
DBMS, Data Mining.

Ştefan Gheorghe Pentiuc is professor at the University „Stefan cel Mare” of Suceava, Faculty of Electrical Engineering and
Computer Science. His research interestes include Pattern Recognition, Parallel and Distributed Systems.

27

You might also like