Learning and Modelling/The Process of System Development
Inhoud
- 1 Interactive Model Making as Human-Computer Interaction: Towards Formal Modelling as a Game
Interactive Model Making as Human-Computer Interaction: Towards Formal Modelling as a Game
Computer science, and related disciplines like information systems, AI, systems dynamics, etc. very much involve the creation and use of formal models. How such models are made, in an operational, process-oriented sense, has never been a primary issue in the fields mentioned. It is usually seen as a "practical matter" that is not of real scientific interest.
The practical problems raised by a lack of operational possibilities for creating genuinely useful and and high-quality models are, however, becoming urgent. Given the pervasiveness of systems and ICT in contemporary society, the need to "bring formal modelling to the masses" is becoming painful. Diverse fields of science and technology depend strongly on the availablity of some sort of models (based on domain knowledge) in order to "do their thing". Simply assuming the model will be there is defendable to a certain extent in a research context, but the bigger picture that includes actual application of formal models demands that the modelling issue be taken serious. It is increasingly becoming a bottleneck, even from a research point of view: advanced formal techniques often require large, complicated and above all realistic models to work with. The creation of such models typically requires knowledge carried by domain experts that are, however, incapable of creating the formal models themselves. It is required that formally trained specialists in modelling cooperate with domain experts to create the model. In practice, this construction is everso often too expensive, too tedious, too far removed from the world of research. It is also problematic in that the expert-to-modeller communication and translation process is fraught with interpretation and formulation problems.
The bottom line is: for formal modelling to be productively realised, the barrier between formality and domain expertise must be broken. This is not a marginal, applied issue but a fundamental one, that deserves the full attention of the scientific world as well as industry. Solving the problem is very much an interdisciplinary issue, and will require some serious out-of-the-box thinking.
I intend to set the study of enabling the creation and adaptation of formal models in view of interaction between non-specialists and formal systems ("HCI by means of formal models") as my primary research goal.
Example: Community-based ICT Development as a Multi-Player Game
For operations in organizations to be effectively supported by ICT, organizational knowledge needs to be explicated. What is more, it somehow has to be explicated in a way that literally fits the mathematics-based conceptual structures required by technology (formalization). For decades, we have seen a gradual shift from technology-oriented to organization-oriented modeling as part of an ever intensifying, yet still largely unsuccessful, business-IT alignment effort.
Along with a growing realization (as voiced in organization-oriented systems an cybernetics literature) that organizations today are typically complex, adaptive socio-technical systems, the awareness has come that organizational change is always taking place, and is for a considerable part unpredictable; additionally, that organization-oriented modeling should therefore be a continuous, adaptive process that is somehow interwoven with operational processes in the organization; furthermore, that such a process should be embedded firmly in the organizational community to genuinely take off and get a hold.
Meanwhile, the rise of the “Semantic Web”, hyped up as it might be, has caused a serious boost of technological developments aiming for the modeling of formal semantics. Mostly, the semantic web community has taken an approach centered around standardization: of semantic exchange languages, exchange protocols, vocabularies (ontologies), etc. Though this approach may be successful in certain areas of organization and automation, it cannot be fully successful, on fundamental grounds. What is lacking is an approach that takes into account the communal factor as well as the wider evolutionary view, and the “requisite diversity” it enables.
A group of researchers have recently set up an initiative to augment the Semantic Web with the “Pragmatic Web”. The initiative is rooted in speech act theory (Searle, Austin) and Habermas’ theory of communicative action. It is closely related to the Organizational Semiotics community. It takes aboard interaction and language issues that are heavily context-oriented, adding a contextual layer of analysis and engineering to the generic, “dead” layer of syntax and semantics installed piecemeal by the Semantic Web.
Creating an effective running process for community-based, evolutionary modeling that drives dynamic ICT development is far from trivial. It requires massive cultural, organizational, and technological changes to take place. However, some slow progress is being made towards bringing to life an interactive modeling cycle. Such an interaction cycle will have to combine human-human interaction with “human-computer interaction trough modeling”. As mentioned, this sort of interaction differs from “regular” human-human communication in that its deliverables are subject to many technology-based, rationally motivated constraints. They inevitably boil down to the creation of formal structures of some sort. They require elaborate and precise definition and specification rooted in engineering rather than human-human communication. Combining this with intuitive, natural interaction has proved extremely hard, but wishing away the fundamental conceptual gap between formal semantics and natural semantics, for example by assuming a yet unforeseeable breakthrough in AI and NLP, is totally unsatisfactory in the long run.
What is worse, as they get more and more embedded in diverse communities, an increasing number of increasingly localized/personalized models will have to be produced and altered by non-experts with no formal modeling skills. This too justifies intensive study of the process of modeling from a community perspective, from an interaction point of view.
HCI-through-Modelling and the Game Approach
I intend to take the study and support of modeling as interaction further by taking a new and alternative approach to interaction for model-based systems development: a gaming approach. This involves the metaphor, but also the practice, of viewing, studying, and supporting model-related interactions as a set of interrelated games, of different kinds; for example puzzles, role playing, negotiation games, language games; collaborative as well as competitive games, and so on. The relation with existing “management games” is obvious, but the goals and, consequently, the nature of the game(s) will be different.
Note I do not refer to game theory here, which focuses on finding winning strategies for finite-state games. For now, I refer merely to the setting of rules, the setting of clear and achievable goals, and designing a score system. In realistic gaming situations, interaction may be tightly structured or left open to creativity and improvisation, as best fits the specific modeling context (depending on, among other things, the roles, goals, and expertise of the players: the community model). Consequently, the rules of the game will be different per situation (though finding generic patterns will of course be a main aim). The big challenge is to find the right game designs (an alternative way of thinking about methods) for particular situations (there is a clear link here with the field of Situational Method Engineering). Also: when does a modeling team perform well (score system)?
Crucially, the focus should be at real, operational, feasible interaction. A gaming approach forces researchers to define playable (i.e. workable) rules as well as a score system that guides the players to a high quality result (as defined at the hand of situational goals that are based on community as well as technical concerns and priorities). “Playability”, in that case, amounts to “methodological realism”; something that is much looked for but hard to find. Also, playability is very much testable, which is an obvious advantage.
The Big Idea, then, is that if community members play a well-designed “modeling game”, this guarantees the rendering of a “good model”, which combines issues like required model utility, good old correctness and validity, but also knowledge sharing and development, consensus, even commitment.
Finally, there is a strong link with the world of Video Gaming. Community-based, evolutionary modeling calls for intelligent and automated support and will increasingly have to take place in (distributed) digital environments. It involves such software as CASE tools, negotiation support systems, and specialized Groupware. I propose to create the required tools as an integrated, game-like environment. Primarily, this should open designers’ eyes to the much neglected interaction aspects of (collaborative) modeling environments.
Viewing and shaping modeling interaction as gameplay may help uncover and reduce the many and diverse factors standing in the way of operationalizing realistic, collaborative, community-based, evolutionary modeling.
For starters, I envisage the development of four or five small games, in the direction of:
- Domain modelling game: basic concepts in a domain; in mathematical terms, the signature
- Definition game: possibly, in addition to the domain models, a game for term definition.
- Process modelling game: temporal modelling, for example by using workflow concepts.
- Business rules definition game: specifiy the rules (complex constraints, axioms) that apply to the domain.
- Formal proof game: reducing complex symbol manipulation to a puzzel solvable by non-mathematicians.
Why focus on modelling processes
(This is an older text, but still relevant)
If you provide someone with a modelling language, and ask her to model something, all sorts of results may come out. Evidently, the way in which the language is used to put together a model is crucial in determining the outcome. What decisions should be taken, what steps followed? If we want to go from modelling as an Art to modelling as a Science, then we simply have to look at modelling processes. As dicussed below, however, it seems a good idea to try and formulate modelling strategies and combine them, rather than come up with a stepwise procedure.
If you want to keep track of statements about a domain (which constitute a model), for example who proposed them and who agree with this, then you have to do this "run time", as the proposition is made. Various sorts of traceability come in here, and also matters of recording contextual information. This requires the process to be recorded in a structured fashon, which in turn implies that we have to know about properties of the modelling processes.
There's more...
Communication perspective on the Act of Modelling
- Modelling as sharing knowledge (and agreeing about it, and committing to it)
- Gradual refinement of concepts and meta-concepts
Participant roles
- Domain expert
- Model builder
- Model mediator
Goal-driven modelling
- Domain goals (classic goal-oriented RE; "content")
- Model goals (what is the intended functionality, the use, of the model? Not unlike functional requirements)
- Modelling goals (what are requirements of the process? Think effectiveness, efficiency, required competencies; not unlike non-functional requirements)
Goal categories
- Progress goals
- Validation goals
- Argumentation goals
- Meta-model oriented goals
- Abstraction goals
- Priority goals
- Negotiation goals
- Interpretation goals
Modelling modelling processes: rule-based
Rules at three levels (in line with three levels of goal)
- Domain rules (classic rule-based content modeling)
- Model rules (quality demands, imposed structures and standards, all on the resulting model)
- Modelling rules (rules with a temporal aspect to it, dynamically guiding the procedure)
Note that these rules are the basis of designing a game that reflects the method. What still lacks is a scoring system that helps guide the participants in the right direction. The score system should reflect a goal-driven system of quality measurement.
Meta-model driven strategies
Goals set by the (grammar of the) meta-model, i.e. the modelling language
Strategies for generic, formal system specification
"Beweren en bewijzen" strategieen