ArticleslgStudy

computer science

INGENIAS

INGENIAS is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand INGENIAS rather than just read about it. In short: INGENIAS (Engineering for Software Agents) is an open-source software framework for the analysis, design and implementation of multi-agent systems (MAS). Technical approach It adopts since its inception a model-driven engineering (MDE) approach.

INGENIAS — main illustration
INGENIAS — illustration

Key takeaways

  • INGENIAS belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect INGENIAS to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of INGENIAS from memory before moving on to harder problems.

Reference excerpt

INGENIAS (Engineering for Software Agents) is an open-source software framework for the analysis, design and implementation of multi-agent systems (MAS).

Technical approach It adopts since its inception a model-driven engineering (MDE) approach. Model-driven engineering (MDE) organizes developments around the specification of systems through models that are automatically transformed to generate other artifacts, e.g., code, tests, or documentation. INGENIAS follows these principles specifying the MAS meta-models that define its modeling language and allow generating automatically its development tools distributed as the INGENIAS Development Kit (IDK). The INGENME framework, developed as part of the INGENIAS research line, supports this automated development from meta-models of model editors, modules for checking and validation, and generators for code, tests, and documentation.

Details The INGENIAS approach based on MDE supports research in different areas characterized by the use of modeling languages and requiring flexibility to adapt these to new requirements. In particular, it has been very successful in the areas of Software Agents and Agent-based simulation. The agent paradigm uses the concept of agent as the basis to develop complex software systems. The field is fairly fragmented with different approaches on how to apply agents and perspectives on the agent concept itself. In this context, INGENIAS emerged as an integrative approach able to support the simultaneous use of different works. This use is based in the facilities to develop new version of its modeling language. The addition, modification, or deletion of concepts just requires modifying its meta-models and then regenerating the development tools using INGENME. This allows researchers focusing on the theoretical tasks of deciding what are the relevant concepts, relationships and attributes of their work, as the infrastructure generates the support tools for their application. This flexibility has facilitated that INGENIAS addressed new extensions over the years. Two of them are of particular relevance. INGENIAS development process has been one of the few processes of agent-oriented methodologies in having their development process formally specified with SPEM, a language of the Object Management Group (OMG). Currently, there is one development process based on the Unified Process and another based on Scrum. It also incorporated research on requirements elicitation from an organizational perspective. This work adopts the Activity Theory framework from Social Sciences to develop a modeling language for requirements with a holistic perspective of organizations and their systems, as well as several semi-automated processes for the elicitation and validation of these requirements. The continuous revision of the INGENIAS modeling language and the tools for its application have made of it one of the most popular methodologies in the literature and actually applied by researchers and engineers. It has been repeatedly included in relevant surveys and comparisons in the field (according to Google Scholar, Elsevier's Scopus and Thomson ISI's Web of Knowledge), e.g., Brian Henderson-Sellers and Paolo Giorgini (2005) or Beydoun et al. (2009). Its open-source tools organized in the IDK are also very successful in the agent community, as assessed by their number of downloads. INGENIAS gained the best demo award in the AAMAS 2008 celebrated in Estoril (Portugal).

See also Model-driven engineering Software agent Multi-agent system Juan Pavón

References

External links INGENIAS main site Sourceforge.net webpage

Illustrations

INGENIAS illustration

Worked examples

Example 1 — a first encounter with INGENIAS

Start with the simplest possible case. Write down what INGENIAS claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to INGENIAS before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about INGENIAS ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of INGENIAS

In research
INGENIAS appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses INGENIAS in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
INGENIAS is common in secondary-school and first-year university syllabi. It links to neighbouring topics 2002 software, Agent-based software, Cross-platform free software, so understanding it makes those chapters shorter.
In everyday life
Look for INGENIAS outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study INGENIAS in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what INGENIAS means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain INGENIAS out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is INGENIAS in simple terms?

INGENIAS (Engineering for Software Agents) is an open-source software framework for the analysis, design and implementation of multi-agent systems (MAS). Technical approach It adopts since its inception a model-driven engineering (MDE) approach.

Why does INGENIAS matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study INGENIAS?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on INGENIAS.

Tags

  • 2002 software
  • Agent-based software
  • Cross-platform free software
  • Data modeling tools
  • Free software programmed in Java
  • Software frameworks
  • Software using the GNU General Public License

Keep exploring