59,275 research outputs found

    Legacy Software Restructuring: Analyzing a Concrete Case

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    No full text
    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

    Full text link
    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
    • …
    corecore