59,275 research outputs found
Legacy Software Restructuring: Analyzing a Concrete Case
Software re-modularization is an old preoccupation of reverse engineering
research. The advantages of a well structured or modularized system are well
known. Yet after so much time and efforts, the field seems unable to come up
with solutions that make a clear difference in practice. Recently, some
researchers started to question whether some basic assumptions of the field
were not overrated. The main one consists in evaluating the
high-cohesion/low-coupling dogma with metrics of unknown relevance. In this
paper, we study a real structuring case (on the Eclipse platform) to try to
better understand if (some) existing metrics would have helped the software
engineers in the task. Results show that the cohesion and coupling metrics used
in the experiment did not behave as expected and would probably not have helped
the maintainers reach there goal. We also measured another possible
restructuring which is to decrease the number of cyclic dependencies between
modules. Again, the results did not meet expectations
An explicit model for learning to structure and analyze decisions by judges
Legal practitioners and legal scientists need to have knowledge of the general rules that apply in the legal system. This involves both knowledge of the legislation and knowledge of the decisions by judges that function as general rules of law. Law students preparing themselves for the legal profession need to acquire these kinds of knowledge. A student has to have knowledge about where to look for decisions, understand the structure of decisions and learn to determine what makes a decision relevant to the body of applicable rules in the legal system. Legal education primarily aims at acquiring insight in the legal sources, their history and background. This basic knowledge is of great importance; legal problem solving is hardly possible without an understanding of the legal knowledge. To illustrate the use of this knowledge in practice, teachers work through decisions as examples. However, it is difficult, if not impossible, to learn by explanation or by imitation alone. A more effective way to obtain expertise is by actually performing the task, i.e. students should do the exercises, while the teacher provides feedback on their solutions. For effective learning, also the solution process should be monitored and provided with feedback. Furthermore it is desirable for students to be able to ask for help at any time during the process. They should also be able to practice over and over again. An ideal situation would have a teacher available for every student, monitoring the student while practicing and providing support where and whenever necessary. However, this being not practically feasible, the second best option is to offer the student electronic support.
CASE (Case Analysis and Structuring Environment) is an environment where a law student can practice with finding decisions, with structuring its text and with analysing the decision in order to be able to determine in what way it adds to the body of applicable rules in the legal system.
CASE is developed using a principled and structured design approach. A short description of this approach is followed by an analysis of the learning task, the difficulties law students experience and the remedies proposed on the basis of both the task analysis and the stated difficulties. This is followed by a description of architecture, functionality, platform and implementation of CASE and a description of a session with CASE and future work
Architecture, design and source code comparison of ns-2 and ns-3 network simulators
Ns-2 and its successor ns-3 are discrete-event simulators. Ns-
3 is still under development, but offers some interesting characteristics
for developers while ns-2 still has a big user base.
This paper remarks current differences between both tools
from developers point of view. Leaving performance and resources
consumption aside, technical issues described in the
present paper might help to choose one or another alternative
depending of simulation and project management requirements.Ministerio de EducaciĂłn y Ciencia TIN2006-15617-C03-03Junta de AndalucĂa P06-TIC-229
Pitfalls of Agent-Oriented Development
While the theoretical and experimental foundations of agent-based systems are becoming increasingly well understood, comparatively little effort has been devoted to understanding the pragmatics of (multi-) agent systems development - the everyday reality of carrying out an agent-based development project. As a result, agent system developers are needlessly repeating the same mistakes, with the result that, at best, resources are wasted - at worst, projects fail. This paper identifies the main pitfalls that await the agent system developer, and where possible, makes tentative recommendations for how these pitfalls can be avoided or rectified
Separating Agent-Functioning and Inter-Agent Coordination by Activated Modules: The DECOMAS Architecture
The embedding of self-organizing inter-agent processes in distributed
software applications enables the decentralized coordination system elements,
solely based on concerted, localized interactions. The separation and
encapsulation of the activities that are conceptually related to the
coordination, is a crucial concern for systematic development practices in
order to prepare the reuse and systematic integration of coordination processes
in software systems. Here, we discuss a programming model that is based on the
externalization of processes prescriptions and their embedding in Multi-Agent
Systems (MAS). One fundamental design concern for a corresponding execution
middleware is the minimal-invasive augmentation of the activities that affect
coordination. This design challenge is approached by the activation of agent
modules. Modules are converted to software elements that reason about and
modify their host agent. We discuss and formalize this extension within the
context of a generic coordination architecture and exemplify the proposed
programming model with the decentralized management of (web) service
infrastructures
- …