Compare View

switch
from
...
to
 
Commits (121)
oss2018/.gitignore 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +*.pdf
  2 +*.log
  3 +*.aux
  4 +*.cfg
  5 +*.glo
  6 +*.idx
  7 +*.toc
  8 +*.ilg
  9 +*.ind
  10 +*.out
  11 +*.lof
  12 +*.lot
  13 +*.bbl
  14 +*.blg
  15 +*.gls
  16 +*.cut
  17 +*.hd
  18 +*.dvi
  19 +*.ps
  20 +*.thm
  21 +*.tgz
  22 +*.zip
  23 +*.rpi
  24 +*~
  25 +*.fdb_latexmk
  26 +*.fls
... ...
oss2018/Makefile 0 → 100755
... ... @@ -0,0 +1,15 @@
  1 +TARGET=spb-oss-2018
  2 +
  3 +all: $(TARGET).tex
  4 + pdflatex $(TARGET).tex
  5 + bibtex $(TARGET)
  6 + pdflatex $(TARGET).tex
  7 + pdflatex $(TARGET).tex
  8 + evince $(TARGET).pdf &
  9 +
  10 +edit:
  11 + gedit Makefile *.bib *.tex &
  12 +
  13 +clean:
  14 + rm -f $(TARGET).pdf *.out *.aux *.log *.blg *.bbl *.dvi *.ps *.toc *.lot *.lof *.idx *~
  15 +
... ...
oss2018/content/.keep 0 → 100644
oss2018/content/00-abstract.tex 0 → 100644
... ... @@ -0,0 +1,17 @@
  1 +\begin{abstract}
  2 +
  3 +Government and academia can collaborate on bringing innovation and filling
  4 +design-reality gaps in e-government projects. However, differences in project
  5 +management methods employed by the organizations is often a challenge for
  6 +collaborative works. Bearing that in mind, we investigated a 30-month
  7 +government-academia partnership to find appropriate ways to get around this
  8 +obstacle. From the analysis of \textit{post-mortem} data as well as the results
  9 +of questionnaires and interviews with project participants, we present a set of
  10 +best practices based on FLOSS and agile software development approaches that
  11 +favors team management in government-academia collaborations in e-government
  12 +development projects.
  13 +
  14 +\end{abstract}
  15 +
  16 +\keywords{Open Source Software, Free Software, Agile Methods, Best Practices,
  17 +Project Management, E-Government.}
... ...
oss2018/content/01-introduction.tex 0 → 100644
... ... @@ -0,0 +1,49 @@
  1 +\section{Introduction}
  2 +
  3 +E-government projects differ from others due to their complexity and extension
  4 +\cite{anthopoulos2016egovernment}. They are complex because they combine
  5 +development, innovation, information \& communications technologies, politics,
  6 +and social impact. They are extensive, on the other hand, regarding their
  7 +scope, target audience, organizational size, time, and the corresponding
  8 +resistance to change. Developing an innovative e-government project that meets
  9 +the needs of society is a issue that may be addressed alternatively through
  10 +collaborative projects between government and academia. However, this
  11 +collaborative work has challenges, such as organizing the collaboration
  12 +project, aligning goals, synchronizing the pace of between government and
  13 +academia, and overcoming the failure trend of e-government projects
  14 +\cite{goldfinch2007pessimism}.
  15 +
  16 +One of the leading causes of e-government project failure is poor project
  17 +management \cite{anthopoulos2016egovernment}. In this sense, the proper
  18 +management of the collaboration project should be a relevant concern when
  19 +government and academia combine efforts to develop an e-government solution.
  20 +Academia commonly works on cutting-edge development methodologies while the
  21 +government still relies on traditional techniques. Changing the development
  22 +process of one of this large-size institutions represents an organizational
  23 +disturbance with impacts on structure, culture, and management practices
  24 +\cite{nerur2015challenges}. As a result, government and academia have to
  25 +harmonize their view to increasing the chances of success in projects with
  26 +tight deadlines and short budgets.
  27 +
  28 +We have investigated the adoption of recommended community standards from
  29 +Free/Libre and Open Source Software (FLOSS) and agile values as a strategy to
  30 +harmonize different management approaches, due to the plurality of FLOSS
  31 +ecosystems and the diversity favored by agile methodologies. Open
  32 +communication, project modularity, the community of users, and fast response to
  33 +problems are just a few of the FLOSS ecosystem practices \cite{capiluppi,
  34 +warsta}. Individuals and interactions, working software, customer
  35 +collaboration, responding to change are the values agile
  36 +development~\cite{beck}. With this in mind, FLOSS and agile practices may
  37 +improve the cooperation of distinct teams.
  38 +
  39 +In this work, we examine the empirical method developed during 30 months
  40 +of a government-academia project that helped to harmonize the differences
  41 +between both organization management cultures. We discuss both quantitative
  42 +and qualitative analyses of the benefits of FLOSS and agile practices in an
  43 +e-government project. We identify and trace the best practices based on
  44 +FLOSS ecosystems and agile methodology. We collect and analyze data from the
  45 +project repository. Finally, we conduct a survey target at projects
  46 +participants to find their perception around the set of best practices, and
  47 +which of them are useful to government-academia collaboration. In doing so, we
  48 +aim to help academia better understand critical issues they will be confronted
  49 +with when engaging in a government-academia software project.
... ...
oss2018/content/02-relatedwork.tex 0 → 100644
... ... @@ -0,0 +1,60 @@
  1 +\section{Related work}
  2 +\label{sec:relatedwork}
  3 +
  4 +Discussions on how to introduce new management methods into an organization are
  5 +present in several works. Nerur et al. recognized critical issues concerning
  6 +the migration from traditional to agile software development by comparing
  7 +practices of both methodologies \cite{nerur2015challenges}. The authors point
  8 +out managerial, organizational, people, process, and technological issues to be
  9 +rethought and reconfigured in an organization for a successful migration.
  10 +Strode et al. investigated the relationship between the adoption of agile
  11 +methodologies and organizational culture \cite{impactOfOrganizationalCulture}
  12 +by evaluating nine projects. They identified a set of six factors directly
  13 +linked to agile methods and concluded that the presence of these aspects in an
  14 +organization is proportional to the value of agile methodologies usage for
  15 +their projects. As Nerur et al., Strode et al. also said that the adoption of
  16 +agile development techniques does indeed produce changes in an organization's
  17 +culture.
  18 +
  19 +Some works also discuss how academia can collaborate with the industry in the
  20 +management of software projects. Chookittikul et al. evaluated the increasing
  21 +use of the agile techniques in software development companies in Thailand. The
  22 +authors suggested that universities should create curricula that develop in
  23 +their undergraduate students practical skills required by industry (mainly
  24 +agile practices) to promote growth in local software businesses
  25 +\cite{cho2011gap}. Sandberg et al. report the use of Scrum in an
  26 +industry-academia research consortium (involving ten industry partners and five
  27 +universities in Sweden) \cite{sandberg2017iacollaboration}. Through a case
  28 +study, they demonstrate that being able to bring together the meaningful
  29 +activities of the stakeholders is essential to the success of collaborative
  30 +research between industry and academia.
  31 +
  32 +Complex and large-scale organizations, such as the public administration, have
  33 +to deal with multiple project variables. Alleman et al. describe a production
  34 +deployment for the US government, focusing on the methodology applied to
  35 +address long-term planning and value estimation \cite{alleman2003making}. In
  36 +the Brazilian context, Melo et al. \cite{melo2013agileBr} investigates the
  37 +growing adoption of agile methodologies in this country's IT industry. The
  38 +results of their survey highlight some mismatch that companies faces when
  39 +developing software for public administration.
  40 +
  41 +Several works tried to highlight the FLOSS practices, while others attempted to
  42 +determine the relationship between FLOSS practices and agile methods. Capiluppi
  43 +et al. examined about 400 projects to find FLOSS project properties
  44 +\cite{capiluppi}. In their work, they extracted generic characterization
  45 +(project size, age, license, and programming language), analyzed the average
  46 +number of people involved in the project, the community of users, and
  47 +documentation characteristics. Warsta et al. found differences and similarities
  48 +between agile development and FLOSS practices \cite{warsta}. The authors argued
  49 +that FLOSS development may differ from agile in their philosophical and
  50 +economic perspectives, on the other hand, both share the definition of work.
  51 +Finally, Eric Raymond describes many of his experiences and decisions in his
  52 +work with FLOSS communities \cite{raymond}, and his report in 1999 has many
  53 +intersections with the agile manifesto in 2001.
  54 +
  55 +This paper differs itself from others by studying the government-academia
  56 +collaboration for developing a production-level solution. From questionnaires,
  57 +interviews, and development activities data, we extracted best practices that
  58 +helped to harmonize the interactions between two different development process
  59 +and satisfied the management process of both sides. We analyzed the decisions
  60 +made from the FLOSS and agile perspectives.
... ...
oss2018/content/03-methods.tex 0 → 100644
... ... @@ -0,0 +1,135 @@
  1 +\section{Research Design}
  2 +\label{sec:researchdesign}
  3 +
  4 +We studied practical alternatives to harmonize the software project lifecycle
  5 +when confronting different development processes from crucial stakeholders. We
  6 +are interested in the relationship between government and academia from the
  7 +project management perspective, without the enforcement of changing their
  8 +internal processes. We present two research questions that guided this work:
  9 +
  10 +\textbf{RQ1. }\textit{How to introduce FLOSS and agile best practices into
  11 +government-academia collaboration projects?}
  12 +
  13 +\textbf{RQ2. }\textit{What practices favor effective team management in
  14 +government-academia collaborative projects?}
  15 +
  16 +To answer these questions, we used the case study as research method. We
  17 +selected as a case the evolution of the Brazilian Public Software (SPB) portal
  18 +\cite{meirelles2017spb}, a government-academia collaborative project based on
  19 +FLOSS systems. To validate our answers, we covered three different points of
  20 +view: developers, government agent, and data collected from the project
  21 +repository.
  22 +
  23 +\subsection{The case study}
  24 +
  25 +The project to evolve the SPB portal was a partnership between government and
  26 +academia held between 2014 and 2016 \cite{meirelles2017spb}. The old version of
  27 +SPB suffered from maintenance problems and design-reality gaps. In this sense,
  28 +The Ministry of Planning (MPOG) decided to join the University of Brasília
  29 +(UnB) and the University of São Paulo (USP) to develop a new platform. This
  30 +platform had as its primary requirement to be based on existing FLOSS projects
  31 +and integrate multiple systems into one, providing the end user with a unified
  32 +experience.
  33 +
  34 +In short, the SPB portal evolved into a Collaborative Development Environment
  35 +(CDE) \cite{booch2003}. It was a novelty in the context of the Brazilian
  36 +government, due to the technologies employed and its diverse features. The
  37 +portal includes social networking, mailing lists, version control system, and
  38 +source code quality monitoring. All software is integrated using a
  39 +system-of-systems framework \cite{meirelles2017spb}.
  40 +
  41 +The platform development took place at the Advanced Laboratory of Production,
  42 +Research, and Innovation in Software Engineering (LAPPIS/UnB) and the FLOSS
  43 +Competence Center at USP (CCSL/USP). Undergraduate interns, IT professionals and
  44 +professors formed a partially distributed development team. While interns and
  45 +professors worked in-person, most IT professionals worked remotely. Their
  46 +activities followed the workflow of biweekly sprints and 4-month releases.
  47 +
  48 +On the managerial aspect, at the project
  49 +beginning, the collaboration management and strategic discussions happened only
  50 +once a month, when project leaders and MPOG directors met in person at the
  51 +ministry's headquarters. Table~\ref{tab:gov-academia-diff} summarizes the
  52 +organizational differences in both involved sides.
  53 +
  54 +\vspace*{-.5cm}
  55 +
  56 +\begin{table}[h]
  57 +\centering
  58 +\def\arraystretch{1.2}
  59 +\setlength\tabcolsep{0.2cm}
  60 +\resizebox{\textwidth}{!}{%
  61 +\begin{tabular}{m{4.3cm}!{\color{white}\vrule}m{7cm}!{\color{white}\vrule}m{8cm}}
  62 +\rowcolor[HTML]{c0d6e4}
  63 +\textbf{Collaboration peaces} & \textbf{Academia} & \textbf{Goverment} \\
  64 +\rowcolor[HTML]{f2f2f2}
  65 +\textbf{Responsibilities} & Platform development activites & Contracts and collaboration management \\
  66 +\rowcolor[HTML]{fafafa}
  67 +\textbf{Team size} &
  68 +\begin{tabular}[c]{@{}l@{}} 42 undergraduate interns \\ 2 professors \\ 6 senior developers with significant \\ experience in FLOSS projects\\ 2 Designers (UX specialists) \end{tabular} &
  69 +\begin{tabular}[c]{@{}l@{}} 1 director \\ 1 coordinator \\ 2 requirement analysts \end{tabular} \\
  70 +\rowcolor[HTML]{f2f2f2}
  71 +\textbf{Workplace} & LAPPIS at UnB and CCSL at USP & MPOG headquarters \\
  72 +\rowcolor[HTML]{fafafa}
  73 +\begin{tabular}[c]{@{}l@{}}\textbf{Management} \textbf{approaches}\end{tabular} & FLOSS practices and Agile values & Mindset from RUP, CMMI, and PMBOK \\
  74 +\end{tabular}%
  75 +}
  76 +\caption{Differences between academia and government sides.}
  77 +\label{tab:gov-academia-diff}
  78 +\end{table}
  79 +
  80 +\vspace*{-1cm}
  81 +
  82 +During the project progress, this workflow proved to be inefficient. Conflicts
  83 +between the internal management processes and differences in pace and goals of
  84 +each institution were compromising the platform development. To improve the
  85 +project management process and reducing the mismatching between government and
  86 +academia, professors, with the senior developers' collaboration, incrementally
  87 +employed a set of best practices based on FLOSS and agile values. Throughout
  88 +the project, the development leaders made decisions in a non-systematic way to
  89 +promote the usage of these techniques. In this paper, we analyzed and codified
  90 +these decisions and how they favored the collaboration progress.
  91 +
  92 +\subsection{Survey, Interview and Data Collection}
  93 +
  94 +We separated the project team into three groups: undergraduate interns, IT
  95 +professionals (senior developers and designers), and MPOG analysts. For the
  96 +first two we sent online questionnaires, and for the last one, we conducted
  97 +2-hour interviews. Table \ref{survey-table} presents the details of these
  98 +processes.
  99 +
  100 +\vspace*{-.5cm}
  101 +
  102 +\begin{table}[h]
  103 +\centering
  104 +\def\arraystretch{1.2}
  105 +\setlength\tabcolsep{0.2cm}
  106 +\resizebox{\textwidth}{!}{%
  107 +\begin{tabular}{m{4cm}!{\color{white}\vrule}m{5cm}!{\color{white}\vrule}m{6cm}!{\color{white}\vrule}m{6cm}}
  108 +\rowcolor[HTML]{c6b3df}
  109 +\textbf{} & \textbf{\nohyphens{Undergraduate Interns}} & \textbf{Senior Developers} & \textbf{MPOG Analysts} \\
  110 +\rowcolor[HTML]{fafafa}
  111 +\textbf{Research technique} & Online questionnaire & Online questionnaire & Interview \\
  112 +\rowcolor[HTML]{f2f2f2}
  113 +\textbf{Discussed topics} & \multicolumn{2}{l!{\color{white}\vrule}}{\begin{tabular}[c]{@{}l@{}}(1) project organization\\ (2) the development process\\ (3) communication and relationship with members\\ (4) knowledge sharing\\ (5) experience with FLOSS projects\end{tabular}} & \begin{tabular}[c]{@{}l@{}}(1) professional profile\\ (2) organization, communication \\ and development methodologies\\ (3) satisfaction with \\ the developed platform\\ (4) lessons learned\end{tabular} \\
  114 +\rowcolor[HTML]{fafafa}
  115 +\textbf{Number of interviewed} & 42 & 8 & 2 \\
  116 +\rowcolor[HTML]{f2f2f2}
  117 +\textbf{Rate of responses} & 88\% (37) & 100\% & 100\% \\
  118 +\rowcolor[HTML]{fafafa}
  119 +\textbf{Average age at the end of the project} & 22 years old & 30 years old & 30 years old \\
  120 +\rowcolor[HTML]{f2f2f2}
  121 +\textbf{Gender} & \begin{tabular}[c]{@{}l@{}}8\% women \\ 92\% man\end{tabular} & \begin{tabular}[c]{@{}l@{}}13\% women \\ 87\% man\end{tabular} & 100\% women \\
  122 +\rowcolor[HTML]{fafafa}
  123 +\begin{tabular}[c]{@{}l@{}}\textbf{Experience} \\ \textbf{background}\end{tabular} & 43\% of the interns had the SPB project as their first contact with FLOSS & 11 years of experience; worked in at least 5 companies; participated in 4 to 80 distinct projects; 86\%of them had some background with FLOSS before the SPB project & more than 7 years working in the government; SPB project represented their first experience of government-academia collaboration \\
  124 +\end{tabular}%
  125 +}
  126 +\caption{Surveying the project participants}
  127 +\label{survey-table}
  128 +\end{table}
  129 +
  130 +\vspace*{-1cm}
  131 +
  132 +Finally, we analyzed the data from the central project repository considering
  133 +all the issues and commits. From April 2015 to June 2016, 59 distinct authors
  134 +opened 879 issues, 64 different users made the total of 4,658 comments. The
  135 +development team made 3,256 commits in this abovementioned repository.
... ...
oss2018/content/04-results.tex 0 → 100644
... ... @@ -0,0 +1,188 @@
  1 +\section{Results}
  2 +\label{sec:results}
  3 +
  4 +The SPB portal project had two phases according to the traceability of project
  5 +management activities. The first one, between January 2014 and March 2015, is
  6 +non-traceable since only the universities managed the development activities.
  7 +The communication between government and academia was, generally, in private
  8 +channels, such as professional e-mails, personal meetings, and telephone calls.
  9 +Therefore, the quantitative data found for this period are not conclusive or
  10 +have little expressiveness, and we do not examine them.
  11 +
  12 +The second phase, from April 2015 to the end of the project (June 2016), has
  13 +meaningful data. Much of the management and communication activities were
  14 +recorded and published on online channels and tools. During this period, the
  15 +development leaders consolidated several FLOSS practices and agile values
  16 +employed in the development process. At the end of the project, the academic
  17 +team had an empirical management approach for meeting the government
  18 +bureaucracies.
  19 +
  20 +\subsection{Use of the system under development to develop the system itself}
  21 +
  22 +Due to the platform features for software development and social network, the
  23 +development coordinators decided to use the platform under construction to
  24 +develop the system itself. Gradually, in addition to development activities,
  25 +government and academia migrated the project management and the communication
  26 +between teams to the portal environment.
  27 +
  28 +In short, the wiki feature was used for logging meetings, defining goals,
  29 +planning sprints, documenting deployment procedures and user guides. The issue
  30 +tracker was used for discussing requirements, monitoring features under
  31 +development, requesting and recording changes, and validating the delivered
  32 +functionalities. Finally, the mailing list was used for collaborative
  33 +construction of requirements, defining schedules, and scheduling meetings
  34 +between institutions.
  35 +
  36 +Our surveys report Mailing list (100\%) and Issue Tracker (62.5\%) as the main
  37 +means of interaction between senior developers and interns. The development
  38 +team and MPOG staff also interacted mostly via Mailing List (87.5\%) and Issue
  39 +tracker (50\%). According to one of the interviewees, this movement made the
  40 +\textbf{communication more transparent and efficient}. An MPOG analyst said
  41 +that \textit{``Communicating well goes far beyond the speed. It means enabling
  42 +someone to tell everyone about everything that is happening in the project. We
  43 +did not use emails, we use more mailing list and avoid emails. This usage
  44 +helped us considerably. Everything was public and did not pollute our email
  45 +box. So, when you wanted to know something, you could access the SPB list and
  46 +see everything''}.
  47 +
  48 +Migrating to the SPB platform also \textbf{easied monitoring of activities and
  49 +increased interactions between developers and public servants}. The data
  50 +collected from the repository highlight the frequent use of the platform by
  51 +both sides teams. In the last 15 months of the project, 59 different authors
  52 +opened the central repository issues, 8 of them were MPOG agents. These issues
  53 +received comments from 64 distinct users, 9 of them from MPOG. When we consider
  54 +the issues with more interactions, those which had ten comments or more, we
  55 +notice that the government team also felt comfortable in using the tool to
  56 +interact directly with the development team. In a set of 102 active issues,
  57 +MPOG staff created 43 of them (this represents 42\% of the most active issues).
  58 +
  59 +For the MPOG analysts, interaction via repository improved communication.
  60 +\textit{``There was a big evolution, we increased our communication via
  61 +Gitlab''}. Migrating to the platform also led MPOG staff to \textbf{trust the
  62 +developed code}: \textit{``Everything was validated. We tested the
  63 +functionalities and developed the project on the SPB platform itself. Hence,
  64 +the use of the system homologated most of its features. From the moment we
  65 +began to use it for developing, this validation was constant. We felt confident
  66 +in the code produced''}.
  67 +
  68 +The abovementioned decision also collaborated to meet the government's demand
  69 +for meticulous documentation of the software design and stages of development
  70 +without bureaucratizing or modifying the development process. The usage of the
  71 +platform for project team management conducted \textbf{the organic production
  72 +of documentation and records}, as mentioned in one of the MPOG responses:
  73 +\textit{``It was a great learning experience. There are many things documented
  74 +in emails as well as in the portal itself. We can access the tools at any time
  75 +and find out how we develop a solution. We can remember the positive project
  76 +points''}.
  77 +
  78 +\subsection{Brings together government staff and development team}
  79 +
  80 +In the first phase of the project, the interviewed MPOG analysts did not
  81 +participate in any direct interaction with any university representative, even
  82 +though they were the ones in charge of the government in ensuring the
  83 +collaboration agreement and the delivery of the products. Because of this, they
  84 +relied on feedback from their superiors on inter-institutional meetings. They
  85 +reported that there was significant communication noise in the internal
  86 +dialogues with their superiors, as well as between their superiors and the
  87 +development team.
  88 +
  89 +In the second phase of the project, these analysts became direct
  90 +representatives of the government and started to visit the university's
  91 +laboratory bi-weekly. One of the analysts believed that \textit{``at this
  92 +point, the communication started to change''}. The new dynamics \textbf{reduced
  93 +communication misunderstandings and unified both sides}, as reported by another
  94 +interviewee: \textit{``It was very positive. We liked to go there and to
  95 +interact with the team. I think it brought more unity, more integration into
  96 +the project''}. {73\%} of the interns considered positive the direct
  97 +participation of the MPOG staff, and {81\%} of them believed the presence of
  98 +government staff in sprint ceremonies was relevant for the project development.
  99 +For 76\% of the interns, writing the requirements together with the MPOG staff
  100 +was very important to \textbf{better meet expectations of both sides}.
  101 +According to one of them, \textit{``Joint planning and timely meetings were
  102 +very important for understanding the needs of MPOG''}.
  103 +
  104 +The closest dialogue between government and academia generated empathy, as
  105 +reported by one of the interviewees: \textit{``Knowing people in person makes a
  106 +big difference in the relationship because it causes empathy. You know who that
  107 +person is. He's not merly a name''}. Consequently, this empathy helped to
  108 +\textbf{synchronize the execution pace of activities}: \textit{``Visiting the
  109 +lab and meeting the developers encouraged us to validate resources faster and
  110 +give faster feedback to the team. In return, they also quickly answered us any
  111 +question''}.
  112 +
  113 +The implementation of a Continuous Delivery pipeline also reinforced the teams'
  114 +synchronization \cite{siqueira2018cd} . For 81\% of the interns and 75\% of
  115 +the IT professionals, deploying new versions of the SPB portal in production
  116 +was a motivator during the project. On the government side, this approach
  117 +helped to \textbf{overcome the government bias toward low productivity of
  118 +collaborative projects with academia}, as mentioned by themselves:
  119 +\textit{``Government staff has a bias that universities do not deliver
  120 +products. However, in this project, we made many deliveries with high quality.
  121 +Nowadays, I think if we had paid the same amount for a company, it would not
  122 +have done the amount of features we did with the technical quality we have''}.
  123 +Additionally, the deployment of each new version also \textbf{share a common
  124 +understanding of the process from one side to the other}, as mentioned by a
  125 +MPOG analyst: \textit{``We had only the strategic vision of the project. When
  126 +we needed to deal with technical issues, we had some difficulty planning the
  127 +four-month releases. However, in the last stages of the project I realized
  128 +that this was not a problem. The team was delivering and the results were
  129 +available in production. The team was qualified, the code had quality, and the
  130 +project was well executed. So in practice, our difficulty in interpreting the
  131 +technical details did not impact the release planning''}.
  132 +
  133 +\subsection{Organized development team into priority fronts, and for each one, hire at least one specialist from the IT market}
  134 +
  135 +The development team had four work areas divided by the main demands of the
  136 +project: User Experience, DevOps, Integration of Systems, and Social
  137 +Networking. For each segment, at least one professional in the IT market was
  138 +hired to raise the quality of the product. Senior developers have been selected
  139 +based on their vast experience in FLOSS systems and their knowledge on tools
  140 +used in the project.
  141 +
  142 +The presence of senior developers in the project contributed to
  143 +\textbf{conciliate the development processes of each institution and make
  144 +better technical decisions}, as quoted in one of the answers to the senior
  145 +developer's questionnaire: \textit{``I think my main contribution was to
  146 +balance the relations between the MPOG staff and the university team''}. {63\%}
  147 +of the IT professionals believed they have collaborated to conciliate the
  148 +management and development process between the two institutions and also {63\%}
  149 +of them helped MPOG staff express their requests more clearly. Government
  150 +analysts were also more open to suggestions from these developers:
  151 +\textit{``They are upstream developers of the systems that integrate the
  152 +platform. They conveyed trust, and then we trust in the developed code''}.
  153 +According to questionnaire responses, IT professionals largely agreed with the
  154 +project development process. For 63\%, this process has close similarity to
  155 +their previous experiences. In contrast, {62.5\%} of them did not understand
  156 +the MPOG's project management process and {50\%} believed this process could
  157 +affect their project productivity.
  158 +
  159 +The senior developers were also responsible for \textbf{improving the
  160 +management and technical knowledge} of the interns about practices from
  161 +industry and open source projects. {91\%} of the interns believed that working
  162 +with professionals was essential for learning, and, for all of them, working
  163 +with IT professionals was important during the project. {75\%} of the IT
  164 +professionals believed that ``Working in pairs with a senior'' and 63\% that
  165 +``Participate in joint review tasks'' were the tasks with the involvement of
  166 +them that most contributed to the evolution of the interns in the project.
  167 +{75\%} believed that the knowledge shared by them to one intern was widespread
  168 +among the others in the team. Government analysts also pointed this knowledge
  169 +sharing: \textit{``On the university side, we noticed a significant improvement
  170 +in the platform with the hiring of the systems original developers. They had a
  171 +guide on how to best develop each feature and were able to solve non-trivial
  172 +problems quickly''}.
  173 +
  174 +Organizing the development team and hiring of the IT professionals allowed each
  175 +team to \textbf{self-organize and gain more autonomy in the management of their
  176 +tasks}. There was a development coach to lead each team, and a ``meta-coach''
  177 +supported all of them in their internal management activities. The coaches
  178 +(most advanced interns) were points of reference in the development process.
  179 +{89\%} of the interns said that the presence of the coach was essential to the
  180 +sprint's running, and for {88\%} of the of the IT professionals the coaches was
  181 +essential for their interaction with the development team. MPOG analysts saw
  182 +the coaches as facilitators their activities and communication with the
  183 +development team. They said \textit{``I interacted more with the project
  184 +coordinator (professor) and team coaches (interns)''}, \textit{``Usually, we
  185 +contact a coach to clarify some requirements or to understand some feature. The
  186 +coaches were more available than senior developers and, sometimes, they would
  187 +take our question to a senior developer''}.
  188 +
... ...
oss2018/content/05-discussion.tex 0 → 100644
... ... @@ -0,0 +1,110 @@
  1 +\section{Discussion}
  2 +\label{sec:discussion}
  3 +
  4 +Our results reveal a set of nine management practices successfully employed in
  5 +abovementioned case. We analyzed unsystematic decisions made during a 30-month
  6 +collaborative project and identified three macro-decisions that harmonized the
  7 +differences of the management processes of each organization. We evidenced from
  8 +data collection, and responses of the members of both sides to the
  9 +questionnaires and interviews, the benefits obtained through the adoption of
  10 +this empirical method. The Table \ref{practices-table} summarizes
  11 +macro-decisions, practices, and benefits.
  12 +
  13 +\vspace*{-.5cm}
  14 +
  15 +\begin{table}[h]
  16 +\centering
  17 +\def\arraystretch{1.5}
  18 +\setlength\tabcolsep{0.5cm}
  19 +\resizebox{\textwidth}{!}{%
  20 +\begin{tabular}{ m{4cm} m{9cm} m{9cm} }
  21 +\rowcolor[HTML]{b7d0b9}
  22 +\textbf{Decision} & \textbf{Practice Explanation} & \textbf{Benefits} \\
  23 +\rowcolor[HTML]{fafafa}
  24 +\begin{flushleft}
  25 +\textbf{Use of the system under development to develop the system itself}
  26 +\end{flushleft} &
  27 +\begin{flushleft}
  28 +\begin{itemize}
  29 +\setlength{\itemsep}{2pt}
  30 +\item The features and tools of the platform under development supported the project management and communication activities.
  31 +\end{itemize}
  32 +\end{flushleft} &
  33 +\begin{flushleft}
  34 +\begin{itemize}
  35 +\setlength{\itemsep}{2pt}
  36 +\item Communicating with transparency and efficiency.
  37 +\item Easy monitoring of activities.
  38 +\item More interactions between developers and public servants.
  39 +\item Confidence in the developed code.
  40 +\item Organic documentation.
  41 +\end{itemize}
  42 +\end{flushleft} \\
  43 +\rowcolor[HTML]{f2f2f2}
  44 +\begin{flushleft}
  45 +\textbf{Bring together government staff and development team}
  46 +\end{flushleft} &
  47 +\begin{flushleft}
  48 +\begin{itemize}
  49 +\setlength{\itemsep}{2pt}
  50 +\item Government staff, academic coordinators, senior developers and team coaches biweekly meet at the university lab, academia headquarters, for sprint planning and review.
  51 +\item Conduct on the platform technical discussions between government staff and the development team.
  52 +\item Involve government board directors only in strategic planning of the project.
  53 +\item Build a continuous delivery pipeline with stages involving both sides.
  54 +\end{itemize} \end{flushleft} &
  55 +\begin{flushleft}
  56 +\begin{itemize}
  57 +\setlength{\itemsep}{2pt}
  58 +\item Reducing communication misunderstanding.
  59 +\item Better meeting expectations of both sides.
  60 +\item Improvement of the decision-making process.
  61 +\item Overcoming the government bias regarding low productivity of collaborative projects with academia.
  62 +\item Synchronizing the execution pace of activities.
  63 +\item Sharing a common understanding of the process from one side to the other.
  64 +\end{itemize} \end{flushleft} \\
  65 +\rowcolor[HTML]{fafafa}
  66 +\begin{flushleft}
  67 +\textbf{Organize the development team into priority fronts, and for each one, hire at least one specialist from the IT market}
  68 +\end{flushleft} &
  69 +\begin{itemize}
  70 +\setlength{\itemsep}{2pt}
  71 +\item The coordinators separated the development team into priority work areas considering the main demands of the project.
  72 +\item IT market professionals with recognized experience on each front were hired to work in person or remotely.
  73 +\item Define among the interns the leadership roles: a coach for each front, and a meta-coach of the entire development team.
  74 +\item Each team has certain self-organization, being guided by one intern-coach and at least one senior developer.
  75 +\end{itemize} &
  76 +\begin{itemize}
  77 +\setlength{\itemsep}{2pt}
  78 +\item Conciliating the development processes of each institution, taking better technical decisions.
  79 +\item Improving the management and technical knowledge.
  80 +\item Self-organizing and gaining autonomy in the management of their tasks.
  81 +\end{itemize}\\
  82 +\end{tabular}%
  83 +}
  84 +\caption{Empirical SPB management decisions and its benefits.}
  85 +\label{practices-table}
  86 +\end{table}
  87 +
  88 +\vspace*{-1cm}
  89 +
  90 +The results of this current work corroborate the lessons learned in our
  91 +previous work on studying the SPB project case \cite{meirelles2017spb}.
  92 +Evidence from the data collected, responses to questionnaires, and interviews
  93 +reinforce what has been reported by the academic coordination of the project,
  94 +adding the point of views of government and other roles involved on the
  95 +academic side. In short, the government staff took time to understand how
  96 +collaboration works and to realize that the project was not a client-executor
  97 +relationship and both organizations were at the same hierarchical level in the
  98 +work plan.
  99 +
  100 +The decisions, practices, and benefits presented in the Table
  101 +\ref{practices-table} should be evaluated and used in contexts with more
  102 +substantial plurality and diversity of government stakeholders. This study has
  103 +a few obvious limitations. Firstly, we point out the lack of communication
  104 +records and low traceability of the management data referring to the first
  105 +phase of the project. Secondly, we consider a drawback the hiatus between the
  106 +completion of the project and the conduction of interviews and questionnaires,
  107 +since we rely on the memory of the interviewees to rescue the events. Lastly,
  108 +the current situation of the respondents, such as their current working midset,
  109 +may also alter their perception on the on the topics addressed in the
  110 +questionnaire and consequently their responses.
... ...
oss2018/content/06-conclusion.tex 0 → 100644
... ... @@ -0,0 +1,41 @@
  1 +\section{Conclusion}
  2 +\label{sec:conclusion}
  3 +
  4 +Organizational culture is built and reinforced every life year of a large-size
  5 +organization. These cultural values reflect on the internal management
  6 +processes and the norms of communication among its members. In the context of
  7 +software development projects, each institution adopts development methods that
  8 +best meet its managerial procedures and organizational routines. When two
  9 +large-size organizations decide to develop a solution collaboratively, the
  10 +development methods and workflow of one may conflict with the interests of the
  11 +other. In a case of government-academia collaboration, conciliating their
  12 +different management processes is crucial, since the poor and unadaptable
  13 +management could lead the project to fail, resulting in the waste of
  14 +population-funded resources.
  15 +
  16 +In this study, we investigated the management method employed at the SPB portal
  17 +project, a partnership between the Brazilian government and universities. As a
  18 +result, we identified a set of FLOSS and agile best practices, empirically
  19 +employed by the development leaders, which improved the workflow and
  20 +relationship between the organizations involved.
  21 +
  22 +Regarding our first research question \textit{``How to introduce FLOSS and
  23 +agile best practices into government-academia collaboration projects?''}, we
  24 +examined the SPB project and identified three macro-decisions taken by the
  25 +academic coordinators that drove them to intuitively and unsystematically adopt
  26 +nine FLOSS and agile best practices in the development process.
  27 +
  28 +The interviewed responses allowed us to understand how FLOSS and agile
  29 +practices have benefited the people and project management. Based on that, we
  30 +answered our second research question \textit{``What practices favor effective
  31 +team management in government-academia collaborative projects?''}, making to
  32 +explicit 14 benefits obtained from the use of the nine best practices, all
  33 +presented in Table \ref{practices-table}.
  34 +
  35 +Finally, we collected a significant amount of data and testimonials related to
  36 +the teaching of software engineering. We consider the studied project an
  37 +educational case, an example of teaching FLOSS and agile techniques applied to
  38 +real-world software development. As future work, we intend to analyze this
  39 +collected information to propose improvements in education methodologies of
  40 +software engineering undergraduate students as well.
  41 +
... ...
oss2018/content/out-background.tex 0 → 100644
... ... @@ -0,0 +1,49 @@
  1 +\section{Layered Approach}
  2 +\label{sec:background}
  3 +
  4 +Combine many teams with different processes in the same project might be
  5 +challenging. To address this problem, we got inspiration from Operating Systems
  6 +(OS) concepts and extended the notion of layered approach design
  7 +\cite{layeredApproach}. This technique breaks the OS into distinct layers with
  8 +different proposes. The inner layer represents the hardware, while the external
  9 +layer represents the user interface. Layered approach demands a careful
  10 +definition of each layer responsibility and how they communicate. After the
  11 +layers and communication definition, it is simple to change a single layer
  12 +without affecting other layers. This approach presents two drawbacks: (1) it
  13 +creates an overhead of communication from the upper layer to the lower layer,
  14 +and (2) it is a hard to define the correct interface between layers.
  15 +
  16 +We extended the layered approach for handling the interaction with development
  17 +teams and the Brazilian government. We realized that multiple teams interacting
  18 +with the government have different expectations about the project. Furthermore,
  19 +we noticed that government can transfer political pressures to the development
  20 +team and sometimes they try to impose their processes to the project. For
  21 +handling all the different processes and keep the multiple expectations under
  22 +control, we implemented the layered approach for project management.
  23 +
  24 +\begin{figure}[!h]
  25 + \centering
  26 + \includegraphics[width=.30\textwidth]{project_layers}
  27 + \caption{Layered Approach for managing multiple processes}
  28 + \label{fig:layered_processes}
  29 +\end{figure}
  30 +
  31 +Figure \ref{fig:layered_processes} illustrates our set of layers. The inner
  32 +layer comprises the development team composed of agile teams. Next, is a layer
  33 +that includes the coordinators responsible for handling the bureaucratic issues
  34 +coming from the government to the development team. Subsequent, the analyst
  35 +layer covers the government employees with the understanding about the
  36 +requirements, but they working guided by the traditional methodology. Finally,
  37 +there is the directory layer responsible for the political issues.
  38 +
  39 +The communication between layers is an important problem in the Layered
  40 +approach, which still an important issue to be addressed in our propose. For
  41 +solving the problem, we designed a common channel of communication that passes
  42 +through all layers. For keeping the layer separation, some members of each
  43 +layer worked as a filter. This was possible because we created a proper
  44 +infrastructure based on transparency. We used the following tools to implement
  45 +the communication between layers: issue tracker (from Gitlab), mailing list,
  46 +IRC, and wiki. The coordination layer has to filter the interaction between the
  47 +government and the development team.
  48 +
  49 +
... ...
oss2018/llncs.cls 0 → 100644
... ... @@ -0,0 +1,1208 @@
  1 +% LLNCS DOCUMENT CLASS -- version 2.18 (27-Sep-2013)
  2 +% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
  3 +%
  4 +%%
  5 +%% \CharacterTable
  6 +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  7 +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  8 +%% Digits \0\1\2\3\4\5\6\7\8\9
  9 +%% Exclamation \! Double quote \" Hash (number) \#
  10 +%% Dollar \$ Percent \% Ampersand \&
  11 +%% Acute accent \' Left paren \( Right paren \)
  12 +%% Asterisk \* Plus \+ Comma \,
  13 +%% Minus \- Point \. Solidus \/
  14 +%% Colon \: Semicolon \; Less than \<
  15 +%% Equals \= Greater than \> Question mark \?
  16 +%% Commercial at \@ Left bracket \[ Backslash \\
  17 +%% Right bracket \] Circumflex \^ Underscore \_
  18 +%% Grave accent \` Left brace \{ Vertical bar \|
  19 +%% Right brace \} Tilde \~}
  20 +%%
  21 +\NeedsTeXFormat{LaTeX2e}[1995/12/01]
  22 +\ProvidesClass{llncs}[2013/09/27 v2.18
  23 +^^J LaTeX document class for Lecture Notes in Computer Science]
  24 +% Options
  25 +\let\if@envcntreset\iffalse
  26 +\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
  27 +\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
  28 +\DeclareOption{oribibl}{\let\oribibl=Y}
  29 +\let\if@custvec\iftrue
  30 +\DeclareOption{orivec}{\let\if@custvec\iffalse}
  31 +\let\if@envcntsame\iffalse
  32 +\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}
  33 +\let\if@envcntsect\iffalse
  34 +\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
  35 +\let\if@runhead\iffalse
  36 +\DeclareOption{runningheads}{\let\if@runhead\iftrue}
  37 +
  38 +\let\if@openright\iftrue
  39 +\let\if@openbib\iffalse
  40 +\DeclareOption{openbib}{\let\if@openbib\iftrue}
  41 +
  42 +% languages
  43 +\let\switcht@@therlang\relax
  44 +\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}}
  45 +\def\ds@francais{\def\switcht@@therlang{\switcht@francais}}
  46 +
  47 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
  48 +
  49 +\ProcessOptions
  50 +
  51 +\LoadClass[twoside]{article}
  52 +\RequirePackage{multicol} % needed for the list of participants, index
  53 +\RequirePackage{aliascnt}
  54 +
  55 +\setlength{\textwidth}{12.2cm}
  56 +\setlength{\textheight}{19.3cm}
  57 +\renewcommand\@pnumwidth{2em}
  58 +\renewcommand\@tocrmarg{3.5em}
  59 +%
  60 +\def\@dottedtocline#1#2#3#4#5{%
  61 + \ifnum #1>\c@tocdepth \else
  62 + \vskip \z@ \@plus.2\p@
  63 + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm
  64 + \parfillskip -\rightskip \pretolerance=10000
  65 + \parindent #2\relax\@afterindenttrue
  66 + \interlinepenalty\@M
  67 + \leavevmode
  68 + \@tempdima #3\relax
  69 + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  70 + {#4}\nobreak
  71 + \leaders\hbox{$\m@th
  72 + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  73 + mu$}\hfill
  74 + \nobreak
  75 + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
  76 + \par}%
  77 + \fi}
  78 +%
  79 +\def\switcht@albion{%
  80 +\def\abstractname{Abstract.}
  81 +\def\ackname{Acknowledgement.}
  82 +\def\andname{and}
  83 +\def\lastandname{\unskip, and}
  84 +\def\appendixname{Appendix}
  85 +\def\chaptername{Chapter}
  86 +\def\claimname{Claim}
  87 +\def\conjecturename{Conjecture}
  88 +\def\contentsname{Table of Contents}
  89 +\def\corollaryname{Corollary}
  90 +\def\definitionname{Definition}
  91 +\def\examplename{Example}
  92 +\def\exercisename{Exercise}
  93 +\def\figurename{Fig.}
  94 +\def\keywordname{{\bf Keywords:}}
  95 +\def\indexname{Index}
  96 +\def\lemmaname{Lemma}
  97 +\def\contriblistname{List of Contributors}
  98 +\def\listfigurename{List of Figures}
  99 +\def\listtablename{List of Tables}
  100 +\def\mailname{{\it Correspondence to\/}:}
  101 +\def\noteaddname{Note added in proof}
  102 +\def\notename{Note}
  103 +\def\partname{Part}
  104 +\def\problemname{Problem}
  105 +\def\proofname{Proof}
  106 +\def\propertyname{Property}
  107 +\def\propositionname{Proposition}
  108 +\def\questionname{Question}
  109 +\def\remarkname{Remark}
  110 +\def\seename{see}
  111 +\def\solutionname{Solution}
  112 +\def\subclassname{{\it Subject Classifications\/}:}
  113 +\def\tablename{Table}
  114 +\def\theoremname{Theorem}}
  115 +\switcht@albion
  116 +% Names of theorem like environments are already defined
  117 +% but must be translated if another language is chosen
  118 +%
  119 +% French section
  120 +\def\switcht@francais{%\typeout{On parle francais.}%
  121 + \def\abstractname{R\'esum\'e.}%
  122 + \def\ackname{Remerciements.}%
  123 + \def\andname{et}%
  124 + \def\lastandname{ et}%
  125 + \def\appendixname{Appendice}
  126 + \def\chaptername{Chapitre}%
  127 + \def\claimname{Pr\'etention}%
  128 + \def\conjecturename{Hypoth\`ese}%
  129 + \def\contentsname{Table des mati\`eres}%
  130 + \def\corollaryname{Corollaire}%
  131 + \def\definitionname{D\'efinition}%
  132 + \def\examplename{Exemple}%
  133 + \def\exercisename{Exercice}%
  134 + \def\figurename{Fig.}%
  135 + \def\keywordname{{\bf Mots-cl\'e:}}
  136 + \def\indexname{Index}
  137 + \def\lemmaname{Lemme}%
  138 + \def\contriblistname{Liste des contributeurs}
  139 + \def\listfigurename{Liste des figures}%
  140 + \def\listtablename{Liste des tables}%
  141 + \def\mailname{{\it Correspondence to\/}:}
  142 + \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%
  143 + \def\notename{Remarque}%
  144 + \def\partname{Partie}%
  145 + \def\problemname{Probl\`eme}%
  146 + \def\proofname{Preuve}%
  147 + \def\propertyname{Caract\'eristique}%
  148 +%\def\propositionname{Proposition}%
  149 + \def\questionname{Question}%
  150 + \def\remarkname{Remarque}%
  151 + \def\seename{voir}
  152 + \def\solutionname{Solution}%
  153 + \def\subclassname{{\it Subject Classifications\/}:}
  154 + \def\tablename{Tableau}%
  155 + \def\theoremname{Th\'eor\`eme}%
  156 +}
  157 +%
  158 +% German section
  159 +\def\switcht@deutsch{%\typeout{Man spricht deutsch.}%
  160 + \def\abstractname{Zusammenfassung.}%
  161 + \def\ackname{Danksagung.}%
  162 + \def\andname{und}%
  163 + \def\lastandname{ und}%
  164 + \def\appendixname{Anhang}%
  165 + \def\chaptername{Kapitel}%
  166 + \def\claimname{Behauptung}%
  167 + \def\conjecturename{Hypothese}%
  168 + \def\contentsname{Inhaltsverzeichnis}%
  169 + \def\corollaryname{Korollar}%
  170 +%\def\definitionname{Definition}%
  171 + \def\examplename{Beispiel}%
  172 + \def\exercisename{\"Ubung}%
  173 + \def\figurename{Abb.}%
  174 + \def\keywordname{{\bf Schl\"usselw\"orter:}}
  175 + \def\indexname{Index}
  176 +%\def\lemmaname{Lemma}%
  177 + \def\contriblistname{Mitarbeiter}
  178 + \def\listfigurename{Abbildungsverzeichnis}%
  179 + \def\listtablename{Tabellenverzeichnis}%
  180 + \def\mailname{{\it Correspondence to\/}:}
  181 + \def\noteaddname{Nachtrag}%
  182 + \def\notename{Anmerkung}%
  183 + \def\partname{Teil}%
  184 +%\def\problemname{Problem}%
  185 + \def\proofname{Beweis}%
  186 + \def\propertyname{Eigenschaft}%
  187 +%\def\propositionname{Proposition}%
  188 + \def\questionname{Frage}%
  189 + \def\remarkname{Anmerkung}%
  190 + \def\seename{siehe}
  191 + \def\solutionname{L\"osung}%
  192 + \def\subclassname{{\it Subject Classifications\/}:}
  193 + \def\tablename{Tabelle}%
  194 +%\def\theoremname{Theorem}%
  195 +}
  196 +
  197 +% Ragged bottom for the actual page
  198 +\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
  199 +\global\let\@textbottom\relax}}
  200 +
  201 +\renewcommand\small{%
  202 + \@setfontsize\small\@ixpt{11}%
  203 + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
  204 + \abovedisplayshortskip \z@ \@plus2\p@
  205 + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
  206 + \def\@listi{\leftmargin\leftmargini
  207 + \parsep 0\p@ \@plus1\p@ \@minus\p@
  208 + \topsep 8\p@ \@plus2\p@ \@minus4\p@
  209 + \itemsep0\p@}%
  210 + \belowdisplayskip \abovedisplayskip
  211 +}
  212 +
  213 +\frenchspacing
  214 +\widowpenalty=10000
  215 +\clubpenalty=10000
  216 +
  217 +\setlength\oddsidemargin {63\p@}
  218 +\setlength\evensidemargin {63\p@}
  219 +\setlength\marginparwidth {90\p@}
  220 +
  221 +\setlength\headsep {16\p@}
  222 +
  223 +\setlength\footnotesep{7.7\p@}
  224 +\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}
  225 +\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@}
  226 +
  227 +\setcounter{secnumdepth}{2}
  228 +
  229 +\newcounter {chapter}
  230 +\renewcommand\thechapter {\@arabic\c@chapter}
  231 +
  232 +\newif\if@mainmatter \@mainmattertrue
  233 +\newcommand\frontmatter{\cleardoublepage
  234 + \@mainmatterfalse\pagenumbering{Roman}}
  235 +\newcommand\mainmatter{\cleardoublepage
  236 + \@mainmattertrue\pagenumbering{arabic}}
  237 +\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
  238 + \@mainmatterfalse}
  239 +
  240 +\renewcommand\part{\cleardoublepage
  241 + \thispagestyle{empty}%
  242 + \if@twocolumn
  243 + \onecolumn
  244 + \@tempswatrue
  245 + \else
  246 + \@tempswafalse
  247 + \fi
  248 + \null\vfil
  249 + \secdef\@part\@spart}
  250 +
  251 +\def\@part[#1]#2{%
  252 + \ifnum \c@secnumdepth >-2\relax
  253 + \refstepcounter{part}%
  254 + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
  255 + \else
  256 + \addcontentsline{toc}{part}{#1}%
  257 + \fi
  258 + \markboth{}{}%
  259 + {\centering
  260 + \interlinepenalty \@M
  261 + \normalfont
  262 + \ifnum \c@secnumdepth >-2\relax
  263 + \huge\bfseries \partname~\thepart
  264 + \par
  265 + \vskip 20\p@
  266 + \fi
  267 + \Huge \bfseries #2\par}%
  268 + \@endpart}
  269 +\def\@spart#1{%
  270 + {\centering
  271 + \interlinepenalty \@M
  272 + \normalfont
  273 + \Huge \bfseries #1\par}%
  274 + \@endpart}
  275 +\def\@endpart{\vfil\newpage
  276 + \if@twoside
  277 + \null
  278 + \thispagestyle{empty}%
  279 + \newpage
  280 + \fi
  281 + \if@tempswa
  282 + \twocolumn
  283 + \fi}
  284 +
  285 +\newcommand\chapter{\clearpage
  286 + \thispagestyle{empty}%
  287 + \global\@topnum\z@
  288 + \@afterindentfalse
  289 + \secdef\@chapter\@schapter}
  290 +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
  291 + \if@mainmatter
  292 + \refstepcounter{chapter}%
  293 + \typeout{\@chapapp\space\thechapter.}%
  294 + \addcontentsline{toc}{chapter}%
  295 + {\protect\numberline{\thechapter}#1}%
  296 + \else
  297 + \addcontentsline{toc}{chapter}{#1}%
  298 + \fi
  299 + \else
  300 + \addcontentsline{toc}{chapter}{#1}%
  301 + \fi
  302 + \chaptermark{#1}%
  303 + \addtocontents{lof}{\protect\addvspace{10\p@}}%
  304 + \addtocontents{lot}{\protect\addvspace{10\p@}}%
  305 + \if@twocolumn
  306 + \@topnewpage[\@makechapterhead{#2}]%
  307 + \else
  308 + \@makechapterhead{#2}%
  309 + \@afterheading
  310 + \fi}
  311 +\def\@makechapterhead#1{%
  312 +% \vspace*{50\p@}%
  313 + {\centering
  314 + \ifnum \c@secnumdepth >\m@ne
  315 + \if@mainmatter
  316 + \large\bfseries \@chapapp{} \thechapter
  317 + \par\nobreak
  318 + \vskip 20\p@
  319 + \fi
  320 + \fi
  321 + \interlinepenalty\@M
  322 + \Large \bfseries #1\par\nobreak
  323 + \vskip 40\p@
  324 + }}
  325 +\def\@schapter#1{\if@twocolumn
  326 + \@topnewpage[\@makeschapterhead{#1}]%
  327 + \else
  328 + \@makeschapterhead{#1}%
  329 + \@afterheading
  330 + \fi}
  331 +\def\@makeschapterhead#1{%
  332 +% \vspace*{50\p@}%
  333 + {\centering
  334 + \normalfont
  335 + \interlinepenalty\@M
  336 + \Large \bfseries #1\par\nobreak
  337 + \vskip 40\p@
  338 + }}
  339 +
  340 +\renewcommand\section{\@startsection{section}{1}{\z@}%
  341 + {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  342 + {12\p@ \@plus 4\p@ \@minus 4\p@}%
  343 + {\normalfont\large\bfseries\boldmath
  344 + \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
  345 +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
  346 + {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  347 + {8\p@ \@plus 4\p@ \@minus 4\p@}%
  348 + {\normalfont\normalsize\bfseries\boldmath
  349 + \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
  350 +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  351 + {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  352 + {-0.5em \@plus -0.22em \@minus -0.1em}%
  353 + {\normalfont\normalsize\bfseries\boldmath}}
  354 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  355 + {-12\p@ \@plus -4\p@ \@minus -4\p@}%
  356 + {-0.5em \@plus -0.22em \@minus -0.1em}%
  357 + {\normalfont\normalsize\itshape}}
  358 +\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
  359 + \string\subparagraph\space with this class}\vskip0.5cm
  360 +You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
  361 +
  362 +\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
  363 +\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
  364 +\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
  365 +\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
  366 +\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
  367 +\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
  368 +\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
  369 +\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
  370 +\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
  371 +\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
  372 +\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
  373 +
  374 +\let\footnotesize\small
  375 +
  376 +\if@custvec
  377 +\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
  378 +{\mbox{\boldmath$\textstyle#1$}}
  379 +{\mbox{\boldmath$\scriptstyle#1$}}
  380 +{\mbox{\boldmath$\scriptscriptstyle#1$}}}
  381 +\fi
  382 +
  383 +\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
  384 +\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
  385 +\penalty50\hskip1em\null\nobreak\hfil\squareforqed
  386 +\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
  387 +
  388 +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
  389 +\halign{\hfil
  390 +$\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
  391 +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
  392 +\cr\to\cr}}}
  393 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
  394 +\cr\to\cr}}}
  395 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  396 +\gets\cr\to\cr}}}}}
  397 +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
  398 +$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
  399 +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
  400 +\noalign{\vskip1.2pt}=\cr}}}
  401 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
  402 +\noalign{\vskip1pt}=\cr}}}
  403 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  404 +<\cr
  405 +\noalign{\vskip0.9pt}=\cr}}}}}
  406 +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
  407 +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
  408 +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
  409 +\noalign{\vskip1.2pt}=\cr}}}
  410 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
  411 +\noalign{\vskip1pt}=\cr}}}
  412 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  413 +>\cr
  414 +\noalign{\vskip0.9pt}=\cr}}}}}
  415 +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
  416 +\halign{\hfil
  417 +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
  418 +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
  419 +>\cr\noalign{\vskip-1pt}<\cr}}}
  420 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
  421 +>\cr\noalign{\vskip-0.8pt}<\cr}}}
  422 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  423 +>\cr\noalign{\vskip-0.3pt}<\cr}}}}}
  424 +\def\bbbr{{\rm I\!R}} %reelle Zahlen
  425 +\def\bbbm{{\rm I\!M}}
  426 +\def\bbbn{{\rm I\!N}} %natuerliche Zahlen
  427 +\def\bbbf{{\rm I\!F}}
  428 +\def\bbbh{{\rm I\!H}}
  429 +\def\bbbk{{\rm I\!K}}
  430 +\def\bbbp{{\rm I\!P}}
  431 +\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
  432 +{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
  433 +\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
  434 +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  435 +{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
  436 +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  437 +{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
  438 +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  439 +{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
  440 +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
  441 +\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
  442 +Q$}\hbox{\raise
  443 +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  444 +{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
  445 +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  446 +{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
  447 +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
  448 +{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
  449 +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
  450 +\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
  451 +T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  452 +{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
  453 +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  454 +{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
  455 +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  456 +{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
  457 +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
  458 +\def\bbbs{{\mathchoice
  459 +{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox
  460 +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  461 +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  462 +{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox
  463 +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  464 +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  465 +{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox
  466 +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  467 +to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
  468 +{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
  469 +to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  470 +to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
  471 +\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
  472 +{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
  473 +{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}
  474 +{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}
  475 +
  476 +\let\ts\,
  477 +
  478 +\setlength\leftmargini {17\p@}
  479 +\setlength\leftmargin {\leftmargini}
  480 +\setlength\leftmarginii {\leftmargini}
  481 +\setlength\leftmarginiii {\leftmargini}
  482 +\setlength\leftmarginiv {\leftmargini}
  483 +\setlength \labelsep {.5em}
  484 +\setlength \labelwidth{\leftmargini}
  485 +\addtolength\labelwidth{-\labelsep}
  486 +
  487 +\def\@listI{\leftmargin\leftmargini
  488 + \parsep 0\p@ \@plus1\p@ \@minus\p@
  489 + \topsep 8\p@ \@plus2\p@ \@minus4\p@
  490 + \itemsep0\p@}
  491 +\let\@listi\@listI
  492 +\@listi
  493 +\def\@listii {\leftmargin\leftmarginii
  494 + \labelwidth\leftmarginii
  495 + \advance\labelwidth-\labelsep
  496 + \topsep 0\p@ \@plus2\p@ \@minus\p@}
  497 +\def\@listiii{\leftmargin\leftmarginiii
  498 + \labelwidth\leftmarginiii
  499 + \advance\labelwidth-\labelsep
  500 + \topsep 0\p@ \@plus\p@\@minus\p@
  501 + \parsep \z@
  502 + \partopsep \p@ \@plus\z@ \@minus\p@}
  503 +
  504 +\renewcommand\labelitemi{\normalfont\bfseries --}
  505 +\renewcommand\labelitemii{$\m@th\bullet$}
  506 +
  507 +\setlength\arraycolsep{1.4\p@}
  508 +\setlength\tabcolsep{1.4\p@}
  509 +
  510 +\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
  511 + {{\contentsname}}}
  512 + \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
  513 + \def\lastand{\ifnum\value{auco}=2\relax
  514 + \unskip{} \andname\
  515 + \else
  516 + \unskip \lastandname\
  517 + \fi}%
  518 + \def\and{\stepcounter{@auth}\relax
  519 + \ifnum\value{@auth}=\value{auco}%
  520 + \lastand
  521 + \else
  522 + \unskip,
  523 + \fi}%
  524 + \@starttoc{toc}\if@restonecol\twocolumn\fi}
  525 +
  526 +\def\l@part#1#2{\addpenalty{\@secpenalty}%
  527 + \addvspace{2em plus\p@}% % space above part line
  528 + \begingroup
  529 + \parindent \z@
  530 + \rightskip \z@ plus 5em
  531 + \hrule\vskip5pt
  532 + \large % same size as for a contribution heading
  533 + \bfseries\boldmath % set line in boldface
  534 + \leavevmode % TeX command to enter horizontal mode.
  535 + #1\par
  536 + \vskip5pt
  537 + \hrule
  538 + \vskip1pt
  539 + \nobreak % Never break after part entry
  540 + \endgroup}
  541 +
  542 +\def\@dotsep{2}
  543 +
  544 +\let\phantomsection=\relax
  545 +
  546 +\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
  547 +{}\fi}
  548 +
  549 +\def\addnumcontentsmark#1#2#3{%
  550 +\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
  551 + {\thechapter}#3}{\thepage}\hyperhrefextend}}%
  552 +\def\addcontentsmark#1#2#3{%
  553 +\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}%
  554 +\def\addcontentsmarkwop#1#2#3{%
  555 +\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}%
  556 +
  557 +\def\@adcmk[#1]{\ifcase #1 \or
  558 +\def\@gtempa{\addnumcontentsmark}%
  559 + \or \def\@gtempa{\addcontentsmark}%
  560 + \or \def\@gtempa{\addcontentsmarkwop}%
  561 + \fi\@gtempa{toc}{chapter}%
  562 +}
  563 +\def\addtocmark{%
  564 +\phantomsection
  565 +\@ifnextchar[{\@adcmk}{\@adcmk[3]}%
  566 +}
  567 +
  568 +\def\l@chapter#1#2{\addpenalty{-\@highpenalty}
  569 + \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
  570 + \parindent \z@ \rightskip \@tocrmarg
  571 + \advance\rightskip by 0pt plus 2cm
  572 + \parfillskip -\rightskip \pretolerance=10000
  573 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
  574 + {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
  575 + \else
  576 + \nobreak
  577 + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
  578 + \@dotsep mu$}\hfill
  579 + \nobreak\hbox to\@pnumwidth{\hss #2}%
  580 + \fi\par
  581 + \penalty\@highpenalty \endgroup}
  582 +
  583 +\def\l@title#1#2{\addpenalty{-\@highpenalty}
  584 + \addvspace{8pt plus 1pt}
  585 + \@tempdima \z@
  586 + \begingroup
  587 + \parindent \z@ \rightskip \@tocrmarg
  588 + \advance\rightskip by 0pt plus 2cm
  589 + \parfillskip -\rightskip \pretolerance=10000
  590 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
  591 + #1\nobreak
  592 + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
  593 + \@dotsep mu$}\hfill
  594 + \nobreak\hbox to\@pnumwidth{\hss #2}\par
  595 + \penalty\@highpenalty \endgroup}
  596 +
  597 +\def\l@author#1#2{\addpenalty{\@highpenalty}
  598 + \@tempdima=15\p@ %\z@
  599 + \begingroup
  600 + \parindent \z@ \rightskip \@tocrmarg
  601 + \advance\rightskip by 0pt plus 2cm
  602 + \pretolerance=10000
  603 + \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip
  604 + \textit{#1}\par
  605 + \penalty\@highpenalty \endgroup}
  606 +
  607 +\setcounter{tocdepth}{0}
  608 +\newdimen\tocchpnum
  609 +\newdimen\tocsecnum
  610 +\newdimen\tocsectotal
  611 +\newdimen\tocsubsecnum
  612 +\newdimen\tocsubsectotal
  613 +\newdimen\tocsubsubsecnum
  614 +\newdimen\tocsubsubsectotal
  615 +\newdimen\tocparanum
  616 +\newdimen\tocparatotal
  617 +\newdimen\tocsubparanum
  618 +\tocchpnum=\z@ % no chapter numbers
  619 +\tocsecnum=15\p@ % section 88. plus 2.222pt
  620 +\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt
  621 +\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt
  622 +\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt
  623 +\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt
  624 +\def\calctocindent{%
  625 +\tocsectotal=\tocchpnum
  626 +\advance\tocsectotal by\tocsecnum
  627 +\tocsubsectotal=\tocsectotal
  628 +\advance\tocsubsectotal by\tocsubsecnum
  629 +\tocsubsubsectotal=\tocsubsectotal
  630 +\advance\tocsubsubsectotal by\tocsubsubsecnum
  631 +\tocparatotal=\tocsubsubsectotal
  632 +\advance\tocparatotal by\tocparanum}
  633 +\calctocindent
  634 +
  635 +\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
  636 +\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
  637 +\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
  638 +\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
  639 +\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}
  640 +
  641 +\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  642 + \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
  643 + \@starttoc{lof}\if@restonecol\twocolumn\fi}
  644 +\def\l@figure{\@dottedtocline{1}{0em}{1.5em}}
  645 +
  646 +\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  647 + \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
  648 + \@starttoc{lot}\if@restonecol\twocolumn\fi}
  649 +\let\l@table\l@figure
  650 +
  651 +\renewcommand\listoffigures{%
  652 + \section*{\listfigurename
  653 + \@mkboth{\listfigurename}{\listfigurename}}%
  654 + \@starttoc{lof}%
  655 + }
  656 +
  657 +\renewcommand\listoftables{%
  658 + \section*{\listtablename
  659 + \@mkboth{\listtablename}{\listtablename}}%
  660 + \@starttoc{lot}%
  661 + }
  662 +
  663 +\ifx\oribibl\undefined
  664 +\ifx\citeauthoryear\undefined
  665 +\renewenvironment{thebibliography}[1]
  666 + {\section*{\refname}
  667 + \def\@biblabel##1{##1.}
  668 + \small
  669 + \list{\@biblabel{\@arabic\c@enumiv}}%
  670 + {\settowidth\labelwidth{\@biblabel{#1}}%
  671 + \leftmargin\labelwidth
  672 + \advance\leftmargin\labelsep
  673 + \if@openbib
  674 + \advance\leftmargin\bibindent
  675 + \itemindent -\bibindent
  676 + \listparindent \itemindent
  677 + \parsep \z@
  678 + \fi
  679 + \usecounter{enumiv}%
  680 + \let\p@enumiv\@empty
  681 + \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  682 + \if@openbib
  683 + \renewcommand\newblock{\par}%
  684 + \else
  685 + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
  686 + \fi
  687 + \sloppy\clubpenalty4000\widowpenalty4000%
  688 + \sfcode`\.=\@m}
  689 + {\def\@noitemerr
  690 + {\@latex@warning{Empty `thebibliography' environment}}%
  691 + \endlist}
  692 +\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
  693 + {\let\protect\noexpand\immediate
  694 + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
  695 +\newcount\@tempcntc
  696 +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  697 + \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
  698 + {\@ifundefined
  699 + {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
  700 + ?}\@warning
  701 + {Citation `\@citeb' on page \thepage \space undefined}}%
  702 + {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
  703 + \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
  704 + \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
  705 + \else
  706 + \advance\@tempcntb\@ne
  707 + \ifnum\@tempcntb=\@tempcntc
  708 + \else\advance\@tempcntb\m@ne\@citeo
  709 + \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
  710 +\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else
  711 + \@citea\def\@citea{,\,\hskip\z@skip}%
  712 + \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
  713 + {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
  714 + \def\@citea{--}\fi
  715 + \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
  716 +\else
  717 +\renewenvironment{thebibliography}[1]
  718 + {\section*{\refname}
  719 + \small
  720 + \list{}%
  721 + {\settowidth\labelwidth{}%
  722 + \leftmargin\parindent
  723 + \itemindent=-\parindent
  724 + \labelsep=\z@
  725 + \if@openbib
  726 + \advance\leftmargin\bibindent
  727 + \itemindent -\bibindent
  728 + \listparindent \itemindent
  729 + \parsep \z@
  730 + \fi
  731 + \usecounter{enumiv}%
  732 + \let\p@enumiv\@empty
  733 + \renewcommand\theenumiv{}}%
  734 + \if@openbib
  735 + \renewcommand\newblock{\par}%
  736 + \else
  737 + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
  738 + \fi
  739 + \sloppy\clubpenalty4000\widowpenalty4000%
  740 + \sfcode`\.=\@m}
  741 + {\def\@noitemerr
  742 + {\@latex@warning{Empty `thebibliography' environment}}%
  743 + \endlist}
  744 + \def\@cite#1{#1}%
  745 + \def\@lbibitem[#1]#2{\item[]\if@filesw
  746 + {\def\protect##1{\string ##1\space}\immediate
  747 + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
  748 + \fi
  749 +\else
  750 +\@cons\@openbib@code{\noexpand\small}
  751 +\fi
  752 +
  753 +\def\idxquad{\hskip 10\p@}% space that divides entry from number
  754 +
  755 +\def\@idxitem{\par\hangindent 10\p@}
  756 +
  757 +\def\subitem{\par\setbox0=\hbox{--\enspace}% second order
  758 + \noindent\hangindent\wd0\box0}% index entry
  759 +
  760 +\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
  761 + \noindent\hangindent\wd0\box0}% order index entry
  762 +
  763 +\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
  764 +
  765 +\renewenvironment{theindex}
  766 + {\@mkboth{\indexname}{\indexname}%
  767 + \thispagestyle{empty}\parindent\z@
  768 + \parskip\z@ \@plus .3\p@\relax
  769 + \let\item\par
  770 + \d