Towards Social-Engineering: A Metamodel Approach to Building Web 2.0 Communities

Towards the Definition of a Metamodel for the Conceptual Specification of Web Applications Based on Social Networks

2010-01-01
Constanza Hernández, Ricardo Quintero, Leopoldo Zepeda-Sánchez
Summary
Problem
Method
Results
Takeaways
Abstract

This paper proposes a formal metamodel for the conceptual specification of Social Network Web applications using a Model-Driven Development (MDD) approach. It introduces a specialized UML-based framework and an Eclipse-integrated tool designed to automate the transition from abstract social community models to functional Web 2.0 applications.

TL;DR

Building a social network today is often seen as a task of choosing the right tech stack. However, this paper argues that the real challenge is Conceptual Modeling. By introducing a formal Metamodel for Social Networks, the authors provide a way to design community-driven sites (like Flickr or YouTube) at a high level of abstraction and automatically generate the underlying code.

The "Social" Gap in Software Engineering

Most Web-engineering methodologies treat Web applications as data-entry systems. But social networks are different—they are defined by emergence, interaction, and objects of interest. The authors identified that existing UML profiles were too generic. They asked: Can we create a language that speaks 'Social Network' natively?

The pain point is clear: Developers spend too much time on boilerplate code for profiles, groups, and friendship logic, rather than focusing on the unique "Social Objects" that make a community thrive.

The Core Methodology: MDA for Socializing

The researchers adopted the Model Driven Architecture (MDA) framework. The philosophy is simple: Model once, generate anywhere.

The Metamodel Architecture

The proposed metamodel is a specialized UML profile that defines the grammar of a social network. It breaks down an application into three critical dimensions:

  1. The Actors: Distinguishing between anonymous 'Users' and registered 'Members' with specific 'Profiles'.
  2. The Social Objects: The "reason" for the network—videos for YouTube, photos for Flickr, or books for Goodreads.
  3. The Actions & Activities: The verbs of the system (e.g., tagging, rating, sharing) which are mapped to specific software services.

Metamodel Architecture Figure 3: The proposed Metamodel showing the relationships between Members, Social Objects, and Action Types.

Visualizing the Social Life

To make this practical, the authors developed a visual editor. Instead of writing database schemas, a designer can drag-and-drop elements to define the community's behavior.

The paper illustrates this using Flickr as a case study. By modeling the relationships between "Users," "Photos," "Sets," and "Pools," the system captures the essence of the site without a single line of code.

Flickr Conceptual Model Figure 2: A conceptual model of Flickr's underlying social structure built using the tool.

From Model to Machine: The Code Generation Strategy

The "magic" happens in the transformation layer. The workflow follows these steps:

  • PIM (Platform Independent Model): The visual social model.
  • PSM (Platform Specific Model): The PIM transformed into a specific technology (like Java/Spring or PHP) using QVT.
  • Code: Final generation using Mofscript.

Code Generation Workflow Figure: The MDA transformation strategy from high-level models to executable Web code.

Critical Insight & Conclusion

This paper is a significant step toward Domain-Specific Modeling (DSM) for social media. While the tool is built in the Eclipse EMF ecosystem—which can be heavy—the underlying insight is profound: Social networks are predictable structures.

Limitations & Future Outlook

While the current metamodel handles static relationships well, social networks are increasingly defined by dynamic algorithms (like recommendation feeds) and privacy constraints. The authors note that adding OCL (Object Constraint Language) is the next step to handle these complex rules.

In an era where "Low-Code" is taking over, this research provides the theoretical foundation for tools that could eventually allow community managers to "design" their own social platforms without needing a fleet of backend engineers.

Find Similar Papers

Try Our Examples

  • Find recent papers that extend MDA or Model Driven Engineering (MDE) specifically for modern decentralized social networks (Web3).
  • What are the current state-of-the-art tools for Model-to-Text (M2T) transformation that have succeeded Mofscript in the Eclipse modeling ecosystem?
  • Research how social network ontologies (like FOAF or SIOC) have been integrated into UML-based metamodels for automated code generation.
Contents
Towards Social-Engineering: A Metamodel Approach to Building Web 2.0 Communities
1. TL;DR
2. The "Social" Gap in Software Engineering
3. The Core Methodology: MDA for Socializing
3.1. The Metamodel Architecture
4. Visualizing the Social Life
5. From Model to Machine: The Code Generation Strategy
6. Critical Insight & Conclusion
6.1. Limitations & Future Outlook